2011-01-25 56 views

回答

2
  1. 你不能有List<int>

  2. Arrays.asList(array);將返回你的(通過數組)類型T

您可以像

Integer[] a = new Integer[]{1,2,3}; 
    List<Integer> lst = Arrays.asList(a); 
2

名單你可以這樣做

Integer[] a ={1,2,4}; 

List<Integer> intList = Arrays.asList(a); 

System.out.println(intList); 
0

編輯:

從下面從develman的評論,Java 6的支持已經返回List<>對象相同的方法

OLD答:

Arrays.asList(array)回報你一個java.util.List對象。

+1

Java6做到了。檢查當前API:http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html#asList(T ...) – 2011-01-25 10:20:59

0

如果你有一個整數數組,那麼你可以使用Arrays.asList()來得到一個整數列表:

Integer[] inters = new Integer[5]; 
List<Integer> ints = Arrays.asList(inters); 
1

Arrays.asList(array)返回數組上列表類型視圖。因此,您可以使用List接口來訪問java基元包裝數組的值。

現在如果我們傳遞一個java對象數組和一個java原始值數組會發生什麼?該方法需要可變數量的java對象。 java原語是而不是的一個對象。 Java可以使用自動裝箱功能來創建包裝實例,在這種情況下,它會將數組本身作爲java對象來創建包裝實例,但是。因此,我們最終是這樣的:

List<Integer> list1 = Arrays.asList(new Integer[]{1,2,3})); 
List<int[]> list2 = Arrays.asList(new int[]{1,2,3})); 

第一個集合保存整數值,第二個的int[]陣列。這裏沒有自動裝箱。

所以如果要Java基本類型的數組轉換成List,你不能使用Arrays.asList,因爲它只會返回一個List只包含一個項目:數組。

相關問題