class Value{ public int i; public boolean equals(Object obj){ if(obj instanceof Value){ if(((Value)obj).i==i){ return true; } } return false; } }public class EqualsMethod2 { public static void main(String[] args) { Value v1 = new Value(); Value v2 = new Value(); v1.i = v2.i = 100; System.out.println(v1.equals(v2)); } }
如果v1 = v2,而不是v1.i = v2.i,那么返回结果就是true
比较的是两个对象的地址,
public int i;
public boolean equals(Object obj){
if(obj instanceof Value){
if(((Value)obj).i==i){
return true;
}
}
return false;
}
}public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}
return (this == obj);
}
这是Object.equals()的源码。
wux b=new wux();
a.i=b.i=100;
System.out.println(a.i==b.i);
System.out.println(a);
System.out.println(b);
System.out.println(a.equals(b));