java se 学习笔记 之 reflection(反射机制之Array_2)3

来源:互联网 发布:农产品流通网络建设 编辑:程序博客网 时间:2024/06/06 02:57

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


原创粉丝点击