首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 反照机制实例解释(2)

2012-12-21 
java 反射机制实例解释(2)java.lang.Array 类提供了动态创建和访问数组元素的各种静态方法。如例程10-4所示

java 反射机制实例解释(2)
java.lang.Array 类提供了动态创建和访问数组元素的各种静态方法。如例程10-4
所示的ArrayTester1 类的main()方法创建了一个长度为10 的字符串数组,接着把索引
位置为5 的元素设为“hello”,然后再读取索引位置为5 的元素的值。
例程10-4 ArrayTester1.java

import java.lang.reflect.*;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); //输出hello}}

如例程10-5 所示的ArrayTester2 类的main()方法创建了一个5×10×15 的整型数
组,并把索引位置为[3][5][10]的元素的值为设37。
import java.lang.reflect.*;public class ArrayTester2 {public static void main(String args[]) {int dims[] = new int[] { 5, 10, 15 };Object array = Array.newInstance(Integer.TYPE, dims);// 使arrayObj 引用array[3]Object arrayObj = Array.get(array, 3);Class cls = arrayObj.getClass().getComponentType();System.out.println(cls);// 使arrayObj 引用array[3][5]arrayObj = Array.get(arrayObj, 5);// 把元素array[3][5][10]设为37Array.setInt(arrayObj, 10, 37);int arrayCast[][][] = (int[][][]) array;System.out.println(arrayCast[3][5][10]);}}

输出:
class [I
37???

热点排行