zoukankan      html  css  js  c++  java
  • 使用反射操作Array类型

    使用反射操作Array类型:

    a):

    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);



     b):

    public class ArrayTester2
    {
    public static void main(String[] args)
    {
    int[] dims = new int[] { 5, 10, 15 };

    Object array = Array.newInstance(Integer.TYPE, dims);//dims为创建的新数组的维度(这里是一个三维数组5,10,15)

    System.out.println(array instanceof int[][][]);//检查一下是不是三维数组

    Object arrayObj = Array.get(array, 3);//arrayObj是一个二维数组(三维数组的第3个)

    arrayObj = Array.get(arrayObj, 5);//arrayObj是一个一维数组(二维数组的第5个)

    Array.setInt(arrayObj, 10, 37);//a为一维数组的第10位赋值为37.

    int[][][] arrayCast = (int[][][]) array;

    System.out.println(arrayCast[3][5][10]);

    System.out.println(Integer.TYPE);
    System.out.println(Integer.class);
    }
    }

    另:Integer.TYPE 返回的是 int,而Integer .class返回的是 Integer 类所对应的Class对象。 

    本文为<北京圣思园Java培训教学视频Java.SE 反射机制大总结>视频笔记

  • 相关阅读:
    python操作excel表格
    重学Java
    重学Java
    重学Java
    重学Java
    重学Java
    博客园自定义主题及目录组件
    重学Java
    修改 Eclipse 背景颜色的高级方法
    dbf转excel
  • 原文地址:https://www.cnblogs.com/myfjd/p/2322044.html
Copyright © 2011-2022 走看看