2014-09-03 56 views
4

我做了一個名爲Region的自己的類,我在HashSet中存儲Region的實例。我使用HashSet,在列表中沒有任何對象相等。區域的字符串名稱在HashSet中應該是唯一的,所以我已經覆蓋了equals方法。如果我更改HashSet中的對象,會發生什麼情況?

我的問題:

會發生什麼事,如果我有不同的名稱兩個區域存入HashSet的,然後我做了不同的名稱等於(由制定者的名字)?

這並不重複。另一個問題是關於相同的HashSets而不是HashSets中的相等對象。

+1

當你嘗試過什麼事? – 2014-09-03 19:44:18

+3

未定義的行爲。不要這樣做。請閱讀以下第一個「註釋」:http://docs.oracle.com/javase/7/docs/api/java/util/Set.html – 2014-09-03 19:45:58

+1

「_如果..._發生了什麼......你知道你可以做到這一點並看到正確的? – csmckelvey 2014-09-03 19:46:07

回答

3

一組的行爲如果一個對象的值以影響equals比較而對象是在該組的元素的方式變化沒有被指定。

- 設置的Javadoc

相關問題