Java記錄 -87- java.lang.reflect.Array
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 } }