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。