Java记录 -87- java.lang.reflect.Array

页面导航:首页 > 软件编程 > Java编程 > Java记录 -87- java.lang.reflect.Array

Java记录 -87- java.lang.reflect.Array

来源: 作者: 时间:2016-01-21 09:39 【

java.lang.reflect.Array类提供了动态创建和访问数组元素的各种静态方法。import java.lang.reflect.Array;public class ArrayTester1 { public static void main(String[] args) throws Excep...
java.lang.reflect.Array类提供了动态创建和访问数组元素的各种静态方法。
 
import java.lang.reflect.Array;
public class ArrayTester1 {
    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 str = (String)Array.get(array, 5);
        System.out.println(str);  //hello
    }
}


public class ArrayTester2 {

    public static void main(String[] args) throws Exception{
        int[] dims = new int[]{5, 10, 15};
         
        Object array = Array.newInstance(Integer.TYPE, dims); // 生成一个三维数组,维度分别为5、10、15
//        System.out.println(array instanceof int[][][]);  //true
         
        Object arrayobj = Array.get(array, 3);  //获取第一维度第三个元素,即得到一个二维数组
//        System.out.println(arrayobj instanceof int[][]);  //true
        arrayobj = Array.get(arrayobj, 5); //得到一个一维数组
        Array.set(arrayobj, 10, 37);
         
        int[][][] arraycast = (int[][][])array;
        System.out.println(arraycast[3][5][10]);
         
//        System.out.println(Integer.TYPE);  //int
//        System.out.println(Integer.class);  //class java.lang.Integer
    }
     
}

 

 
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<