巴扎黑2017-06-12 09:27:17
asList
是個泛型,可變參數的函數,所以傳入數組的時候,這個數組如果是基本類型數據,會被當作一個對象處理,題中就是 int[]
。如果資料定義成 Integer[]
的,在 asList
的時候會被當作多個可變參數展開。
另一個問題在於,就算是 Integer[]
,它轉換之後與 ArrayList
也存在泛型類型不匹配的問題。在 Java8 中用 stream 可以很方便的轉換過來,之前的 Java 版可以用循環,這裡給你一個 Stack Overflow 上的答案
世界只因有你2017-06-12 09:27:17
// 声明数组
int[] arr = { 1, 10, 8 };
// 输出测试数组
System.out.println("测试的数组为:" + Arrays.toString(arr));
// 通过下角标访问元素,数组的下角标是从0开始的
System.out.println("通过数组的下角标访问元素,元素的下角标从0开始,下角标为0的元素是:" + arr[0]);
// 将Array 转换成 Arraylist
List<int[]> ss = Arrays.asList(arr);
ArrayList<String> arrayList = new ArrayList<String>();
List
建議統一資料型, int[] arr = { 1, 10, 8 };換成 String[] arr = { "1", "10", "8" };
// 声明数组
String[] arr = { "1", "10", "8" };
// 输出测试数组
System.out.println("测试的数组为:" + Arrays.toString(arr));
// 通过下角标访问元素,数组的下角标是从0开始的
System.out.println("通过数组的下角标访问元素,元素的下角标从0开始,下角标为0的元素是:" + arr[0]);
// 将Array 转换成 Arraylist
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));