package com.demo.array;
import java.util.ArrayList;
import java.util.Arrays;
/**
* 關(guān)于數(shù)組的演示
*
* @author Captain
*
*/
public class ArrayDemo {
public static void main(String[] args) {
// 聲明數(shù)組
int[] arr = { 1, 10, 8 };
// 輸出測試數(shù)組
System.out.println("測試的數(shù)組為:" + Arrays.toString(arr));
// 通過下角標訪問元素,數(shù)組的下角標是從0開始的
System.out.println("通過數(shù)組的下角標訪問元素,元素的下角標從0開始,下角標為0的元素是:" + arr[0]);
// 將Array 轉(zhuǎn)換成 Arraylist
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));
}
}
業(yè)精于勤,荒于嬉;行成于思,毀于隨。
asList
是個泛型,可變參數(shù)的函數(shù),所以傳入數(shù)組的時候,這個數(shù)組如果是基本類型數(shù)據(jù),會被當作一個對象處理,題中就是 int[]
。如果數(shù)據(jù)定義成 Integer[]
的,在 asList
akan dikembangkan sebagai berbilang parameter pembolehubah.
Masalah lain ialah malah Integer[]
,它轉(zhuǎn)換之后與 ArrayList<String>
juga mengalami masalah ketidakpadanan jenis generik. Ia boleh ditukar dengan mudah menggunakan strim dalam Java8 Dalam versi Java sebelumnya, gelung boleh digunakan Berikut ialah jawapan pada Stack Overflow
// 聲明數(shù)組
int[] arr = { 1, 10, 8 };
// 輸出測試數(shù)組
System.out.println("測試的數(shù)組為:" + Arrays.toString(arr));
// 通過下角標訪問元素,數(shù)組的下角標是從0開始的
System.out.println("通過數(shù)組的下角標訪問元素,元素的下角標從0開始,下角標為0的元素是:" + arr[0]);
// 將Array 轉(zhuǎn)換成 Arraylist
List<int[]> ss = Arrays.asList(arr);
ArrayList<String> arrayList = new ArrayList<String>();
Senarai<int[]> tidak boleh ditukar secara automatik kepada ArrayList<String>
Adalah disyorkan untuk menyatukan jenis data, int[] arr = { 1, 10, 8 }; digantikan dengan String[] arr = { "1", "10", "8" };
// 聲明數(shù)組
String[] arr = { "1", "10", "8" };
// 輸出測試數(shù)組
System.out.println("測試的數(shù)組為:" + Arrays.toString(arr));
// 通過下角標訪問元素,數(shù)組的下角標是從0開始的
System.out.println("通過數(shù)組的下角標訪問元素,元素的下角標從0開始,下角標為0的元素是:" + arr[0]);
// 將Array 轉(zhuǎn)換成 Arraylist
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));