java.lang.reflect.Array.newInstance()方法示例



描述

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

声明

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

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

参数

  • componentType − Class 对象,它表示新数组的组件类型。

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

返回值

新数组。

异常

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

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

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

示例

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

package com.tutorialspoint;

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
java_reflect_array.htm
广告