java.lang.reflect.Array.newInstance() 方法示例
描述
java.lang.reflect.Array.newInstance(Class<?> componentType, int... Dimensions) 方法创建一个具有指定组件类型和维度的新数组。如果 componentType 表示非数组类或接口,则新数组具有 Dimensions.length 维度和 componentType 作为其组件类型。如果 componentType 表示数组类,则新数组的维度数等于 Dimensions.length 与 componentType 维度数之和。在这种情况下,新数组的组件类型是 componentType 的组件类型。
声明
以下是 java.lang.reflect.Array.newInstance(Class<?> componentType, int... Dimensions) 方法的声明。
public static Object newInstance(Class<?> componentType, int... Dimensions) throws IllegalArgumentException, NegativeArraySizeException
参数
componentType − 表示新数组组件类型的 Class 对象。
dimensions −一个 int 数组,表示新数组的维度。
返回值
新数组。
异常
NullPointerException − 如果指定的 componentType 为 null。
IllegalArgumentException − 如果指定的 Dimensions 参数是零维数组,或者请求的维度数超出实现支持的数组维度数限制(通常为 255),或者 componentType 为 Void.TYPE。
ArrayIndexOutOfBoundsException −如果指定的索引参数为负数。
示例
以下示例显示了 java.lang.reflect.Array.newInstance(Class<?> componentType, int... Dimensions) 方法的用法。
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,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