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
- 如果指定的对象为空。IllegalArgumentException
- 如果指定的维度参数是零维数组,或者如果请求的维数超过实现支持的数组维数(通常为255
)的限制或者componentType
为Void.TYPE
。ArrayIndexOutOfBoundsException
- 如果指定的index
参数为负,或者如果大于或等于指定数组的长度。
示例
以下示例显示了java.lang.reflect.Array.newInstance(Class<?> componentType, int length)
方法的用法。
package com.yiibai;
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