java.lang.reflect.Array类提供了动态创建和访问数组元素的各种静态方法。
import java.lang.reflect.Array;
public class ArrayTester1 {
public static void main(String[] args) throws Exception{
Class<?> classType = Class.forName("java.lang.String");
Object array = Array.newInstance(classType, 10);
Array.set(array, 5, "hello");
String str = (String)Array.get(array, 5);
System.out.println(str); //hello
}
}
public class ArrayTester2 {
public static void main(String[] args) throws Exception{
int[] dims = new int[]{5, 10, 15};
Object array = Array.newInstance(Integer.TYPE, dims); // 生成一个三维数组,维度分别为5、10、15
// System.out.println(array instanceof int[][][]); //true
Object arrayobj = Array.get(array, 3); //获取第一维度第三个元素,即得到一个二维数组
// System.out.println(arrayobj instanceof int[][]); //true
arrayobj = Array.get(arrayobj, 5); //得到一个一维数组
Array.set(arrayobj, 10, 37);
int[][][] arraycast = (int[][][])array;
System.out.println(arraycast[3][5][10]);
// System.out.println(Integer.TYPE); //int
// System.out.println(Integer.class); //class java.lang.Integer
}
}Java记录 -87- java.lang.reflect.Array
原文:http://zlfwmm.blog.51cto.com/5892198/1717260