java.lang.reflect.Array 类提供了动态创建和访问数组元素的各种静态方法。
获得Class的几种方法:
例
************************************
package com.langsin.reflection;
import java.lang.reflect.Array;
public class ArrayTester1
{
public static void main(String args[]) throws Exception
{
Class<?> classType = Class.forName("java.lang.String");
// 创建一个长度为10的字符串数组
Object array = Array.newInstance(classType, 10);
// 把索引位置为5的元素设为"hello"
Array.set(array, 5, "hello");
// 获得索引位置为5的元素的值
String s = (String) Array.get(array, 5);
System.out.println(s);
}
}
*****************ArrayTester2**********************
ckage com.langsin.reflection;
import java.lang.reflect.Array;
public class ArrayTester2
{
public static void main(String args[])
{
int[] dims = new int[] { 5, 10, 15 };
Object array = Array.newInstance(Integer.TYPE, dims);
Object arrayObj = Array.get(array, 3);
Class<?> cls = arrayObj.getClass().getComponentType();//getComponentType()返回一个数组的类型,不是数组为null
System.out.println(cls);
arrayObj = Array.get(arrayObj, 5);
Array.setInt(arrayObj, 10, 37);
int arrayCast[][][] = (int[][][]) array;
System.out.println(arrayCast[3][5][10]);
}