首页 > 编程语言 > 详细

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

时间:2015-11-27 01:16:33      阅读:238      评论:0      收藏:0      [点我收藏+]

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
    }
    
}


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

原文:http://zlfwmm.blog.51cto.com/5892198/1717260

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!