-2
If I have two reference object with different name in main class Such as:

AA aa = new AA();
AA bb = new AA();

and if i compare it using aa.equals(bb); then what it will return. 

and if i will use 

BB bb = new BB();

and i compare it using aa.equals(bb);

Then what is difference both of them

オブジェクトの null 動作を常に混乱させていました。

4

1 に答える 1

3

演算子 == は、2 つのオブジェクト参照変数がオブジェクトのまったく同じインスタンスを参照しているかどうかをテストします。

メソッド .equals() は、比較対象の 2 つのオブジェクトが等しいかどうかをテストしますが、同じオブジェクトのまったく同じインスタンスである必要はありません。

例 #1:

Integer i = new Integer(10);
Integer j = i;

上記のコードで。と が同じオブジェクトを参照しているi == jため、 は true です。ij

例 #2:

Integer i = new Integer(10);
Integer j = new Integer(10);

上記のコードでは、i == jは false です。どちらも値が 10 ですが、2 つの異なるオブジェクトであるためです。

また、上記のコードでは、i.equals(j)は true です。これらは 2 つの異なるオブジェクトですが、同じ数値 10 を表すという点で同等だからです。

于 2013-06-22T06:03:33.717 に答える