Object 九大方法之equals理解

2021-07-09 04:48:48 字數 851 閱讀 8052

equals 方法需要滿足的四個特性:

自反性:在collection中如果使用contains方法的時候,不滿足的自反性的話set.contains(b);就可能會在集合中,存入兩個相同的物件,那麼在set集合中,就會不滿足set物件的唯一性;

對稱性:兩個物件obj1 and obj2 if(obj1.eq(obj2)==true) 但是obj2.eq(obj1)==false 那麼這兩個物件是不滿足自反性的。

傳遞性:a==b b==c ;=> a==c,傳遞性的表示式。在equals方法中也需要滿足傳遞性。

public

class

point

point p = (point) obj;

if(p.x==x&&p.y==y)else

}public

point()

public

point(int x, int y)

}class point1 extends point

public

point1(int x, int y,int z)

@override

public

boolean

equals(object obj)

}

在point1中,equals方法只是比較x,y兩個屬性,但是在point1中比較的是x,y,z三個屬性;z這個時候就不滿足傳遞性了。

一致性:兩個物件相等的話,就要一直相等,除非是其中乙個物件,或者是兩個物件同時發生了變化。

非空性:在進行兩個物件比較的時候要確保這兩個物件都是not null ,否則的肯定是會丟擲nullpointerexception;

Object類的九個方法

1.clone 方法 保護方法,實現物件的淺複製,只有實現了cloneable介面才可以呼叫此方法,否則丟擲clonenotsupportedexception異常。2.getclass方法 final方法,獲得執行時的型別 3.tostring方法 該方法使用的比較多,一般子類都有覆蓋 4.fin...

保護Hadoop集群三大方法

大約在兩年前,開源資料庫解決方案mongodb以及hadoop曾遭受過大量惡意攻擊,這些攻擊後被統稱為 勒索軟體 因為其攻擊者會擦除或加密資料,然後向被攻擊者索要資金以恢復資料。自今年以來,不少惡意軟體開始頻繁向hadoop集群伺服器下手,受影響最大的莫過於連線到網際網路且沒有啟用安全防護的hado...

APP賺錢盈利的8大方法

1.seo優化 簡單的說,你應該了解客戶的需求,他們會用什麼關鍵字搜尋自己想要的產品,然後你在產品描述中加入對應關鍵字即可,google adwords keyword tool是個能幫助你發現客戶需求的好工具。關鍵字一成不變並不是個好主意,sapir認為產品描述應該跟上潮流,每隔幾天或幾個星期更新...