Java中的反射数组类

java.lang.reflect包中存在的数组类属于Java反射类。Java Reflection类提供了静态方法,这些方法可用于以动态方式创建和访问Java数组。此类是最终的,这意味着无法更改甚至无法实例化。可以在类名本身的帮助下使用此类中存在的方法。

java.util.Arrays.class中存在的方法可用于处理数组,而java.lang.reflect.Array类包含的方法可帮助动态创建和使用Java数组。

java.lang.reflect.Array类是java.lang.Object类的子类,而java.lang.Object类是其父类。可以声明如下-

public final class Array extends Object
Array.function_name;
…

以下是使用反射概念创建特定大小的数组的简单实现-

示例

import java.lang.reflect.Array;
import java.util.Arrays;
public class Demo {
   public static void main(String[] args) {
      int array_size = 6;
      int[] int_array = (int[])Array.newInstance(int.class, array_size);
      System.out.println(Arrays.toString(int_array));
   }
}

输出结果

[0, 0, 0, 0, 0, 0]

名为Demo的类包含主函数,其中定义了数组大小。通过指定数组的类和数组的大小来定义整数数组。该数组被打印在屏幕上。输出是5个零的数组,因为大小为5,并且未指定任何元素,因此采用默认值0。