-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

我总是混淆对象的空行为。

4

1 回答 1

3

运算符 == 测试两个对象引用变量是否引用了完全相同的对象实例。

方法 .equals() 测试两个被比较的对象是否相等——但它们不必是同一对象的完全相同的实例。

示例 #1:

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

在上面的代码中。i == j是真的,因为两者i和都j引用同一个对象。

示例 #2:

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

在上面的代码中,i == j是 false,因为尽管它们的值都是 10,但它们是两个不同的对象。

同样,在上面的代码中,i.equals(j)是正确的,因为尽管它们是两个不同的对象,但它们是等价的,因为它们代表相同的数字 10。

于 2013-06-22T06:03:33.717 回答