基本資料型別和String等對equals重寫了,其他的equals未重寫的例子
阿新 • • 發佈:2019-02-03
package test;
public class Test1 {
public static void main(String[] arg0) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));//false
}
}
class Value {
int i;
}
因為除了基本資料型別和String等對equals重寫了,其他的equals未重寫,與==一樣比較地址和內容,除非Value也重寫equals。class Value { int i; @Override public boolean equals(Object obj) { if (obj instanceof Value) { return i == ((Value) obj).getI(); } return false; } public int getI() { return i; } public void setI(int i) { this.i = i; } }