Java 数组列表问题

标签 java

我有以下 Java 代码,

int a[] = new int[] {20, 30} ;
List lis = Arrays.asList(a) ;
System.out.print(lis.contains(20));

但是,输出是错误的。任何人都可以帮助我,为什么这不给 True ?

最佳答案

您得到的不是整数列表,而是整数数组列表,即 List<int[]> .您不能创建原始类型的集合(如 List)。

在你的例子中,lis.contains(20)将创建一个 Integer对象值为 20,并将其与 int 数组进行比较,这显然不相等。

尝试将数组的类型更改为 Integer它应该可以工作:

Integer a[] = new Integer[] {20, 30} ;
List lis = Arrays.asList(a) ;
System.out.print(lis.contains(20));

关于Java 数组列表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10354159/

相关文章:

java - 对话框仅第一个选项有效

java - K-Means迭代处理输出/群集2失败

java - 如何在eclipse软件中获取重做

Java 将自定义对象传递给 Clojure

java - ClassLoader getResourceAsStream 未加载同一目录中的某些文件

java - 实际和正式论证的长度不同——不知道为什么

Java 的随机数生成器——为每个随机数创建一个新的随机对象*功能上*不正确吗?

java.lang.IllegalArgumentException : Sheet index (26) is out of range (0. .2)

java - 从 ClassA 设置和获取 ClassB 类型的属性

java - 如果 application.properties 中缺少一个键,如何初始化另一个键的值