1. 声明一个长度为3的数组,数组类型是int
int[] dims = new int[]{5,10,15};
2. 利用反射机制定义一个3维数组,该三维数组的3维长度分别有dims数组的三个值来给定
Object array = Array.newInstance(Integer.TYPE, dims);
//还可以写成如下的方式
//Object array = Array.newInstance(Integer.TYPE, 5,10,15);
3. 获取三维数组array的第一维的索引为3的数组对象,此时arrayObj是个2维数组
Object arrayObj = Array.get(array, 3);
4. 获取二维数组arrayObj第一维的索引维5的数组对象,此时arrayObj是个1维数组
arrayObj = Array.get(arrayObj, 5);
5. 给一维数组arrayObj的索引是10的位置,设值37
Array.setInt(arrayObj, 10, 37);
6. 转换三维数组array为int类型的三维数组,并打印出索引为3,5,10位置上的元素
int [][][] arrayCast = (int[][][])array;
System.out.println(arrayCast[3][5][10]);
7. 测试Integer.TYPE和Integer.class的区别
Integer.TYPE; 返回 int
Integer.class; 返回 java.lang.Integer