2013-05-10 74 views
0

我有2號的int數組。 餘萬這個數字複製到數組列表,並打印出來。儘可能避免使用Integer結果[];Copystored數組值到數組列表JAVA

int result[] = {1024,2048}; 
    List<Integer> res = new ArrayList<Integer>(result); 


public class TEA { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 

      int result[] = {1024,2048}; 
      List<int[]> res = Arrays.asList(result); 
      System.out.println(res); 


    } 

} 

output :[[[email protected]]

回答

1

如果你不能讓resultInteger[],而不是一個int[],你的選擇是要麼做一個明確的for循環:

List<Integer> list = new ArrayList<Integer>(); 
for (int value : array) { 
    list.add(value); 
} 

...或者,如果你可以使用第三第三方庫,使用番石榴的Ints.asList(int[])。這或多或少是您選擇的整個空間。

+0

這是在新的值中添加,所以不能複製已有的陣列,而無需使用整數結果[]? – newbieprogrammer 2013-05-10 16:59:28

+0

...我不確定你在說什麼。這些,如果你想獲得一個'INT []'的'名單',但目前還不清楚你的意思是什麼本質上是唯一的選擇,「這是在新的增值。」 – 2013-05-10 17:02:21

+0

哦,我得到了it..thanks 附:剛纔看到了錯誤的代碼。 – newbieprogrammer 2013-05-10 17:17:21

0

使用Arrays.asList()方法做同樣的。

List<Integer> res = Arrays.asList(result); 

這是數組的列表視圖,不能添加或刪除元素。

List<Integer> res = new ArrayList<Integer>(Arrays.asList(result)); 

將源數組中的所有元素複製到新列表中。

EDITED:

有一個從原始類型的陣列沒有自動轉換到它們的包裝引用類型的陣列。

int result[] = {1024,2048}; 
List<Integer> list = new ArrayList<Integer>(); 
for (int value : result) { 
    list.add(value); 
} 
System.out.println(list); 
+0

不工作的這兩個......我得到錯誤,我也厭倦了不斷變化的整數爲int [],它返回一些垃圾值 – newbieprogrammer 2013-05-10 16:45:06

+0

什麼錯誤????? – NINCOMPOOP 2013-05-10 16:45:59

+0

異常在線程「主要」 java.lang.Error的:未解決的問題,編譯: \t類型不匹配:不能從列表轉換到列表 \t在TEA.main(TEA.java:74) – newbieprogrammer 2013-05-10 16:46:40