簡體   English   中英

沒有覆蓋hashCode()和equals()的對象上的LinkedHashSet

[英]LinkedHashSet on objects without overridden hashCode() and equals()

我有以下對象集合:

Set<MyClass> test = new LinkedHashSet<MyClass>();

但是MyClass不會覆蓋hashcodeequals方法。

即使MyClass不覆蓋hashCodeequals方法,上述集合也只能具有唯一對象嗎?

equals的默認實現是檢查身份(即,使用==運算符)。 您的LinkedHashSet (或其他任何HashSet )將包含唯一對象,因為您將無法兩次添加同一對象。 但是,如果您以完全相同的方式創建兩個實例(例如,將相同的參數傳遞給構造函數),則您的集合將仍然包含兩個實例,因為它們不equals

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM