static Object newInstance(Class<?> componentType, int... dimensions)
优质
小牛编辑
143浏览
2023-12-01
描述 (Description)
java.lang.reflect.Array.newInstance(Class《?》 componentType, int... dimensions)方法创建一个具有指定组件类型和维度的新数组。 如果componentType表示非数组类或接口,则新数组将dimension.length维度和componentType作为其组件类型。 如果componentType表示数组类,则新数组的维数等于dimension.length和componentType的维数。 在这种情况下,新数组的组件类型是componentType的组件类型。
声明 (Declaration)
以下是java.lang.reflect.Array.newInstance(Class《?》 componentType, int... dimensions)方法的声明。
public static Object newInstance(Class<?> componentType, int... dimensions)
throws IllegalArgumentException, NegativeArraySizeException
参数 (Parameters)
componentType - 表示新数组的组件类型的Class对象。
dimensions - 表示新数组维度的int数组。
返回值 (Return Value)
新阵列。
异常 (Exceptions)
NullPointerException - 如果指定的componentType为null。
IllegalArgumentException - 如果指定的维数参数是零维数组,或者请求的维度数超过实现支持的数组维数(通常为255)的限制,或者componentType为Void.TYPE。
ArrayIndexOutOfBoundsException - 如果指定的索引参数为负数。
例子 (Example)
以下示例显示了java.lang.reflect.Array.newInstance(Class componentType,int ... dimensions)方法的用法。
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,3);
Array.set(stringArray[0], 0, "Mahesh");
Array.set(stringArray[1], 1, "Ramesh");
Array.set(stringArray[2], 2, "Suresh");
System.out.println("stringArray[0][0] = " + Array.get(stringArray[0], 0));
System.out.println("stringArray[1][1] = " + Array.get(stringArray[1], 1));
System.out.println("stringArray[2][2] = " + Array.get(stringArray[2], 2));
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
stringArray[0][0] = Mahesh stringArray[1][1] = Ramesh stringArray[2][2] = Suresh