プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

「equals()メソッド」と「==」の使い方

■「equals()メソッド」と「==」の使い方

比較するものがプリミティブ型か参照型で変わる
・「equals()メソッド」は同値比較
⇒変数が保持する参照アドレスの比較を行い同一のインスタンスかどうかを判定する

・「==」は等価比較
⇒インスタンスは違うがインスタンスの価値(値)が同じかどうかを判定する

・プリミティブ型とは頭文字が小文字の型
⇒int、long、boolean等

・参照型とは型の頭文字とは頭文字が大文字の型
⇒String、Integer等
 
 
・プリミティブ型の比較


int intA = 1;
int intB = 1;
System.out.println(intA == intB); // ture

・参照型の比較


Integer integerA = new Integer(1);
Integer integerB = new Integer(1);
System.out.println(integerA == integerB); // false

・参照型の比較


Integer integerA = new Integer(1);
Integer integerB = new Integer(1);
System.out.println(integerA.equals(integerB)); // true