static Object newInstance(Class<?> componentType, int length)

优质
小牛编辑
142浏览
2023-12-01

描述 (Description)

java.lang.reflect.Array.newInstance(Class《?》 componentType, int length)方法创建一个具有指定组件类型和长度的新数组。

声明 (Declaration)

以下是java.lang.reflect.Array.newInstance(Class《?》 componentType, int length)方法的声明。

public static Object newInstance(Class<?> componentType, int length)
   throws IllegalArgumentException, NegativeArraySizeException

参数 (Parameters)

  • componentType - 表示新数组的组件类型的Class对象。

  • length - 表示新数组维度的int数组。

返回值 (Return Value)

新阵列。

异常 (Exceptions)

  • NullPointerException - 如果指定的componentType为null。

  • IllegalArgumentException - 如果指定的维数参数是零维数组,或者请求的维度数超过实现支持的数组维数(通常为255)的限制,或者componentType为Void.TYPE。

  • ArrayIndexOutOfBoundsException - 如果指定的索引参数为负数。

例子 (Example)

以下示例显示了java.lang.reflect.Array.newInstance(Class componentType,int length)方法的用法。

package cn.xnip;
import java.lang.reflect.Array;
public class ArrayDemo {
   public static void main(String[] args) {
      String[] stringArray = (String[]) Array.newInstance(String.class, 3);
      Array.set(stringArray, 0, "Mahesh");
      Array.set(stringArray, 1, "Ramesh");
      Array.set(stringArray, 2, "Suresh");
      System.out.println("stringArray[0] = " + Array.get(stringArray, 0));
      System.out.println("stringArray[1] = " + Array.get(stringArray, 1));
      System.out.println("stringArray[2] = " + Array.get(stringArray, 2));
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

stringArray[0] = Mahesh
stringArray[1] = Ramesh
stringArray[2] = Suresh