簡體   English   中英

用於列出問題的Java數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM