-1
我想定義一個將用於實現地圖鍵的接口。該地圖使用equals和hasCode來定位和比較鍵。我的密鑰需要用自定義計算覆蓋這些密鑰。這是我想要做的。使用複雜密鑰很重要。謝謝具有equals和hashCode方法的通用接口,有可能嗎?
public interface CachedRequestKey<T>{
public T complexKeyObject;
@Override
public boolean equals(T obj);
}
對選民編輯:我知道上面的代碼是無效的。我正在尋找想法來實現一個接口,以確保實現類使用泛型類型提供所需的方法。
接口默認不包含實現,並且不能表示其他對象狀態。也許你會喜歡關鍵對象的裝飾類而不是?請澄清。 –
你'equals'方法不正確會覆蓋'對象#equals',因此像你期望將無法正常工作。 – chrylis
你可以換的對象,並保持額外的狀態存在。集合類將不使用定製等於/ hashCode方法,除非集合類是在比較(如TreeMap的)來定義的。 – john16384