1 如果是基本類型用==和equals結果簡單
2 如果是類型包裝器
2.1 用==時
2.1.1 如果是產生實例 return false
Integer myInt = new Integer(5);
Integer otherInt = new Integer(5);
2.1.2 如果是賦值 return true
Integer myInt = new Integer(5);
Integer otherInt ;
otherInt = myInt;
2.2 用equals
2.2.1 如果類有自己寫equals() return true (多數Double,Float..都已經寫了)
public boolean equals(Object other) {
if (other == this) {
return true;
}
if (!(other instanceof MyClass)) {
return false;
}
MyClass castOther = (MyClass) other;
return new EqualsBuilder()
.append(this.getValue(), castOther.getValue())
.isEquals();
}
2.2.1 如果類有自己沒寫equals() return false