使用Java Reflection方法创建数组的新实例

可以使用java.lang.reflect.Array.newInstance()方法创建Array的新实例。此方法基本上会创建一个具有所需组件类型和长度的新数组。

给出了一个演示使用Array.newInstance()方法创建数组的程序,如下所示:

示例

import java.lang.reflect.Array;
public class Demo {
   public static void main (String args[]) {
      int arr[] = (int[])Array.newInstance(int.class, 5);
      Array.set(arr, 0, 5);
      Array.set(arr, 1, 1);
      Array.set(arr, 2, 9);
      Array.set(arr, 3, 3);
      Array.set(arr, 4, 7);
      System.out.print("The array elements are: ");
      for(int i: arr) {
         System.out.print(i + " ");
      }
   }
}

输出结果

The array elements are: 5 1 9 3 7

现在让我们了解上面的程序。

使用Array.newInstance()方法创建一个新的数组实例。然后,使用Array.set()方法设置数组的值。演示这的代码片段如下-

int arr[] = (int[])Array.newInstance(int.class, 5);
Array.set(arr, 0, 5);
Array.set(arr, 1, 1);
Array.set(arr, 2, 9);
Array.set(arr, 3, 3);
Array.set(arr, 4, 7);

然后使用for循环显示数组元素。演示这的代码片段如下-

System.out.print("The array elements are: ");
for(int i: arr) {
   System.out.print(i + " ");
}