c1 如果是基本類型用==結果簡單, 而equals是不能使用的,因为简易型,不是Object ,因而没有任何方法
You cannot pass primitives to equals() method. Only objects can be passed
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