一、什麼叫兩個物件相等?
1. a = b ?
–他們真的是乙個東西!
只有在兩個引用相等,即都指向同乙個物件(同一塊記憶體指標時),才相等(基本資料型別除外)。
2.a.equals(b) ?
—-呼叫的方法-
呼叫的方法equals,如果物件沒有重寫此方法,那麼呼叫超類的equals方法。最終判斷是否equals。
3.在乙個類重寫equals方法時,最好盡量重寫hascode方法。
4.equals方法的四個特性:
對稱性:如果x.equals(y)返回是「true」,那麼y.equals(x)也應該返回 是「true」。
反射性:x.equals(x)必須返回是「true」。
類推性:如果x.equals(y)返回是「true」,而且y.equals(z)返回是「true」,那麼z.equals(x)也應該返回是「true」。
還有一致性:如果x.equals(y)返回是「true」,只要x和y內容一直不變,不管你重複x.equals(y)多少次,返回都是「true」
Java中比較兩個物件是否相同
class person extends object 判斷是否是同齡人。書寫 順序 1 2 3 4 public boolean equals object obj public boolean compare person p class dog 定義乙個異常語句 public class ob...
Java集合HashSet中的兩個物件怎樣算重複
集合hashset中物件的特點是無序 不允許重複。無序好理解,那麼兩個什麼樣的物件算重複呢?兩個物件重複意味著這兩個物件的內容相同 hashcode 值也相同。1 兩個物件a和b內容相同,表示a.equals b 的值為true。不重寫的話,預設equals 方法是呼叫 進行判斷的,判斷的是兩個物件...
java比較兩個時間
工作中遇到需要將兩個時間進行比對,所以書寫如下方法來實現 public static void main string args public static boolean comparetime string time1,string time2,string format else catch ...