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
我总是混淆对象的空行为。
答案 0 :(得分: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。