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
    }
    
}