用于列出问题的Java数组

Arp*_*sss 9 java

我有以下Java代码,

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

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

Tho*_*mas 13

你得到的不是整数列表,而是整数数组列表,即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));
Run Code Online (Sandbox Code Playgroud)