转自:
java.lang.reflect.Array简介说明
java.lang.reflect.Array这个反射类可用于处理数组
//创建一个int类型数组 int[] ints = (int[]) Array.newInstance(int.class,6); //int.class:数组类型 //6:数组尺寸
int[] ints = (int[]) Array.newInstance(int.class, 3); Array.set(ints, 0,888); Array.set(ints, 1,777); Array.set(ints, 2,999); System.out.println("ints[0] = " + Array.get(ints,0)); System.out.println("ints[1] = " + Array.get(ints,1)); System.out.println("ints[2] = " + Array.get(ints,2));
Class stringArrayClass = String[].class;
//获取原生int类型Class
Class intClazz = Class.forName("[I");
//获取原生string类型Class
Class stringClazz = Class.forName("[Ljava.lang.String;");
注意事项:
1.获取String,获取原生态[L右边需加上“;”号
2.获取原生态Class对象,不能使用Class.forName("int");
而应该采用上面的方法
获取数组的成员类型,我们可使用Class.getComponentType()方法 获取数组的成员类型
例:
String[] strs = new String[3]; Class stringArrayClass = strs.getClass(); Class stringArrayComponentType = stringArrayClass.getComponentType(); System.out.println(stringArrayComponentType);