[英]Java Array to List Issue
我有以下Java代碼,
int a[] = new int[] {20, 30} ;
List lis = Arrays.asList(a) ;
System.out.print(lis.contains(20));
但是,輸出是錯誤的。 任何人都可以幫助我,為什么這不是真的?
你得到的不是整數列表,而是整數數組的列表,即List<int[]>
。 您無法創建基元類型的集合(如List
)。
在您的情況下, lis.contains(20)
將創建一個值為20的Integer
對象,並將其與int數組進行比較,這顯然不相等。
嘗試將數組的類型更改為Integer
,它應該工作:
Integer a[] = new Integer[] {20, 30} ;
List lis = Arrays.asList(a) ;
System.out.print(lis.contains(20));
靜態方法asList用作參數varargs: ...
只需要<Integer>
可以防止其中a是Object的List<Object>
。
int[] a = new int[] {20, 30} ;
List<Integer> lis = Arrays.asList(a) ;
System.out.print(lis.contains(20));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.