我不明白为什么contains不能正常工作(实际上,如果我通过自定义类,我可以重新访问hascode和equals方法,但这是Integer)。因此,代替包含我可以使用什么?请帮忙。
Set<Integer> st = new HashSet<>();
st.add(12);
Set<Integer> st1 = new HashSet<>();
st1.add(12);
System.out.println(st.contains(st1));
最佳答案
st.contains(st1)
返回false
,因为st1
(Set<Integer>
)的类型与st
中的元素的类型(Integer
)不同。
但是,您可以使用 Set#containsAll(Collection<?>)
方法:
System.out.println(st.containsAll(st1));
它将检查
st1
中是否存在st
的元素。