黑马程序员技术交流社区

标题: 数组反射的应用 [打印本页]

作者: 考拉是只猫    时间: 2014-12-2 21:48
标题: 数组反射的应用
数组的反射类 Array
public final class Array  类提供了动态创建和访问 Java 数组的方法。
Array 允许在执行 get或 set操作期间进行扩展转换,但如果发生收缩转换,则抛出 IllegalArgumentException。

static Object get(Object array, int index)
    返回指定数组对象中索引组件的值。如果该值是一个基本类型值,则自动将其包装在一个对象中。
static void set(Object array, int index, Object value)
   将指定数组对象中索引组件的值设置为指定的新值。如果数组的类型为基本组件类型,则新值第一个被自动解包。  
另外,反射类  Array 还提供了set get具体基本类型数据的方法,如getInt()、setInt()等。
static Object newInstance(Class<?> componentType, int... dimensions)
          创建一个具有指定的组件类型和维度的新数组。
static Object newInstance(Class<?> componentType, int length)
          创建一个具有指定的组件类型和长度的新数组。
  1. String[] aa = new String[]{"a","b","c"};
  2.                 Class aaClass = aa.getClass();
  3.                 if(!aaClass.isArray())
  4.                         return;
  5.                 System.out.println(Array.get(aa, 1));//b
  6.                 Array.set(aa, 1, "aa");
  7.                 System.out.println(Array.get(aa, 1));//aa
  8.                 创建数组
  9.                 String[] str = (String[])Array.newInstance(String.class, 3);
  10.                 Array.set(str, 0, "aa");
  11.                 Array.set(str, 1, "b");
  12.                 Array.set(str, 2, "c");
  13.                 System.out.println(Arrays.toString(str));
复制代码









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2