【完全初心者向け】Javaのequals「=」記号の使い方

  • このエントリーをはてなブックマークに追加
  • Pocket

Javaに限らないがプログラミング言語ではequals記号「=」が頻繁に使われる。

数学ではイコールを挟んだ右と左が等しいという意味になるが、プログラミングでは違った意味合いになる。

このページではJavaのイコール記号について簡単にお伝えしよう。

Javaのequals「=」

Javaのequalsという単語の意味は「等しい」である。しかし、Javaのequalsは、「==」とは違う働きをもっている。

「equals」はオブジェクトのメソッドだが,「==」は演算子のひとつ等価演算子である。数値の大きさを比較する演算子「<, >, >=. <=」などの仲間である。

例として,equalsメソッドを持つ文字列オブジェクトで考えてみよう。どちらも文字列ABCを値として持つstring1とstring2であるが,このオブジェクトを(string1 == string2)で比較した結果と(string1.equals(string2))で比較した結果は同じになるだろうか。

結果は,同じにならない。「equals」の比較結果は真(true)であるが,「==」の比較結果は偽(false)である。

なぜかというと「equals」が文字列の値を比較するのに対して,「==」は,オブジェクトの場所を示す変数の値を比較しているからである。

equals

参照変数とオブジェクト

基本的なことだが,「equals」についての説明を理解するために参照変数とオブジェクトの違いが分かっている必要がある。

オブジェクトがどのように作られるかを思い出して欲しい。最初に(①)オブジェクトの参照変数が定義される。次に(②)オブジェクトがnewによって作り出される。そして,(③)オブジェクトの場所が参照変数に代入されるのだ。この参照変数が示す場所のオブジェクトがequalsというメソッドを持っている。

look

では,実際にサンプルプログラムを実行して確認しておこう。

サンプルプログラム

このプログラムは,説明で使ったコードを実際に実行したものである。それぞれの比較結果は違っている。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] 参照変数string1を宣言し、文字列ABCを値として生成する。
  • [2] 参照変数string2を宣言し、文字列ABCを値として生成する。
  • [3][4]もしstring1 == string2ならば、”==”を表示する。
  • [5][6]もしequals(string2)ならば、”equals”を表示する。

まとめ

このページではJavaのequals「=」記号についてお伝えしてきた。参考にしていただければ幸いだ。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リカレントテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リカレントテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する