在Kotlin中,我有一個數據類的MutableSet
。數據類不會覆蓋equals()
或hashCode()
。我一直在遇到涉及集合中重複對象的錯誤,並且我注意到調用foo.containsAll(foo)
返回該集合的false
。集合中的重複項目
我經歷了集中的每個項目,只有少數返回false
爲foo.contains(foo.toList()[i])
。對於那些,請致電foo.toList()[i] == foo.toList()[i]
返回true
。所以,平等檢查工作。
這是怎麼回事?
正在努力重現此操作:http://ideone.com/n8ydzW。你能構建一個[最小測試用例](http://stackoverflow.com/help/mcve)嗎? –
我正在努力想出一個。但是,我找到了解決方法。使用'foo.all {a - > foo.any {b - > a == b}}'可以代替'containsAll()'。 –