当前位置:  开发笔记 > 编程语言 > 正文

HashSet包含不适用于Integer

如何解决《HashSet包含不适用于Integer》经验,为你挑选了2个好方法。

我不明白为什么包含(如果我在自定义类已经过去了,我可以重新审视我的hascode和equals方法,但这是整型其实)不工作.那么代替包含我可以使用的东西?请帮忙.

Set st = 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.



1> Konstantin Y..:

st.contains(st1)返回false,因为st1(Set)的类型与st(是Integer)中的元素类型不同.

但是,您可以使用以下Set#containsAll(Collection)方法:

System.out.println(st.containsAll(st1));

这将检查是否的元素st1存在于st.



2> Stefan Beike..:

st1HashSet不是Integer.

尝试使用该代码,您将看到它的工作原理:

Set st = new HashSet<>();
st.add(12);
System.out.println(st.contains(12));

要么

public static void main(String[] args) {
    Set st = new HashSet<>();
    st.add(12);
    Set st1 = new HashSet<>();
    st1.add(12);
    System.out.println(st.containsAll(st1));
  }

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有