元素存在,但'Set.contains(element)'返回 false
元素如何不能包含在原始集合中,而是包含在其未修改的副本中?
原始集不包含元素,而其副本包含元素。见图。
以下方法返回 ,尽管它应始终返回 。和 的实现在这两种情况下都是 。true
false
c
clusters
HashSet
public static boolean confumbled(Set<String> c, Set<Set<String>> clusters) {
return (!clusters.contains(c) && new HashSet<>(clusters).contains(c));
}
调试表明该元素包含在原始元素中,但由于某种原因返回。见图。Set.contains(element)
false
有人可以向我解释发生了什么事吗?