- 在reflect包中还有一个Array类,这个类的对象可以代表所有的数组,可以像操作普通数组那样子去操作Array对象
- 以下为两个简单的示例,具体的讲解穿插在代码中
package Chapter_4; import java.lang.reflect.Array; public class ArrayTest1 { public static void main(String args[]){ try{ Object arr = Array.newInstance(String.class, 10); Array.set(arr, 5, "java"); Array.set(arr, 6,"java2"); Object a1 = Array.get(arr, 5); Object a2 = Array.get(arr,6); System.out.println(a1); System.out.println(a2); }catch (Throwable e){ System.err.println(e); } } } //运行这个程序,可以看到输出 // java // java2
package Chapter_4; import java.lang.reflect.Array; public class ArrayTest2 { public static void main(String args[]){ Object arr = Array.newInstance(String.class, 3,4,10); // 这一句是创建了一个三维的数组,可以想象成一个魔方 Object arrObj = Array.get(arr, 2); // 获取“魔方”的某一片,即一个二维数组 // 这里的赋值是赋值切出来的一片魔方的“一条”,这条魔方是一个一维数组 Array.set(arrObj, 2, new String[]{ "java1", "java2" }); Object anArr = Array.get(arrObj, 3); // 获取这个一维数组的某个元素 Array.set(anArr, 8, "jajaja"); // 给这个一维数组的某个元素赋值 String[][][] cast = (String[][][])arr; // 将“魔方”强制专程普通的三维数组】 // 输出值 System.out.println(cast[2][3][8]); System.out.println(cast[2][2][0]); System.out.println(cast[2][2][1]); } } //运行这个程序,可以看到输出 // jajaja // java1 // java2
java反射(6)Array类
最新推荐文章于 2023-01-18 00:00:39 发布