Java反射机制学习(二)java.lang.reflect.Array_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java反射机制学习(二)java.lang.reflect.Array

Java反射机制学习(二)java.lang.reflect.Array

 2011/10/27 8:15:55  erhuzi  http://erhuzi.iteye.com  我要评论(0)
  • 摘要:java.lang.reflect.Array类提供了动态创建和访问数组元素的各种静态方法。(一)创建一维数组并赋值packagecom.test.reflection;importjava.lang.reflect.Array;publicclassArrayTesterOne{publicstaticvoidmain(String[]args)throwsException{Class<?>classType=Class.forName("java.lang.String")
  • 标签:学习 Java 反射 反射机制
java.lang.reflect.Array类提供了动态创建和访问数组元素的各种静态方法

(一) 创建一维数组并赋值
package com.test.reflection;

import java.lang.reflect.Array;

public class ArrayTesterOne {
	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 s = (String) Array.get(array, 5);
		System.out.println(s);
	}
}



(二)创建三维数组并赋值
package com.test.reflection;

import java.lang.reflect.Array;

public class ArrayTesterTwo {
	public static void main(String[] args) throws Exception {
		int[] dimensions = new int[] {5, 10, 15};
		Object array = Array.newInstance(Integer.TYPE, dimensions);
		Object array1 = Array.get(array, 3);
		Object array2 = Array.get(array1, 5);
                
        //result: class [[I
		System.out.println(array.getClass().getComponentType());
        //result: class [I
		System.out.println(array1.getClass().getComponentType());
        //result: int
		System.out.println(array2.getClass().getComponentType());
		Array.set(array2, 10, 37);
		int[][][] value = (int[][][])array;
		System.out.println(value[3][5][10]);
	}
}

发表评论
用户名: 匿名