我不明白为什么包含(如果我在自定义类已经过去了,我可以重新审视我的hascode和equals方法,但这是整型其实)不工作.那么代替包含我可以使用的东西?请帮忙.
Setst = new HashSet<>(); st.add(12); Set st1 = new HashSet<>(); st1.add(12); System.out.println(st.contains(st1));
Konstantin Y.. 8
st.contains(st1)
返回false
,因为st1
(Set
)的类型与st
(是Integer
)中的元素类型不同.
但是,您可以使用以下Set#containsAll(Collection>)
方法:
System.out.println(st.containsAll(st1));
这将检查是否的元素st1
存在于st
.
st.contains(st1)
返回false
,因为st1
(Set
)的类型与st
(是Integer
)中的元素类型不同.
但是,您可以使用以下Set#containsAll(Collection>)
方法:
System.out.println(st.containsAll(st1));
这将检查是否的元素st1
存在于st
.
st1
是HashSet
不是Integer
.
尝试使用该代码,您将看到它的工作原理:
Setst = new HashSet<>(); st.add(12); System.out.println(st.contains(12));
要么
public static void main(String[] args) { Setst = new HashSet<>(); st.add(12); Set st1 = new HashSet<>(); st1.add(12); System.out.println(st.containsAll(st1)); }