//数组与泛型比较
public static void arrayAndGeneric(){
//因为泛型参数只存在于编译时期 所以具有泛型参数的数组不能实例化
//List<String>[] list=new ArrayList<String>[1];//编译错误
Object[] objs=new Object[3];
objs[0]=new Integer(1);
objs[1]=new String("were");//数组同时支持协变
objs[2]=2;
Object[] obj={1,'5',"455"};
System.out.println(Arrays.toString(obj));
}
//数组支持自动装箱机制
public static void autoBoxOnArray(){
Integer[] inter={12,25,24,36};
Number[] num={new Integer(5),new Long(5)};
Object[] objs=new Object[8];
//下面这种写法不可以 自动包装不能用于数组
//int [] arr={21,21,};
//Integer[] ins=arr;//int[]无法转换为Integer[]
}
//创建多为数组
public static void mutiDimensionArray(){
//下面这种创建多维数组也是可以的
int[][][] arr1=new int[8][][];//打印结果是{null,....null}空引用
int[][][] arr=new int[3][5][6];
//遍历多维数组
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
for(int x=0;x<arr[i][j].length;x++){
arr[i][j][x]=15;
}
}
}
System.out.println(Arrays.deepToString(arr1));
}
public static void initTest(){
//数组的初始化
//聚集初始化
int[] arr={1,2,3,4};
//动态聚集初始化
int[] arr2=new int[]{1,2,3,4};
//通过javap 指令查看 初始化过程是一样的
} |
|