java.lang.reflect.Array.newInstance(Class <?> componentType,int ... dimensions)
方法建立一個具有指定元件型別和維度的新陣列。如果componentType
表示非陣列類或介面,則新陣列的dimension.length
個維度和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
- 如果指定的物件為空。IllegalArgumentException
- 如果指定的維度引數是零維陣列,或者如果請求的維數超過實現支援的陣列維數(通常為255
)的限制或者componentType
為Void.TYPE
。ArrayIndexOutOfBoundsException
- 如果指定的index
引數為負,或者如果大於或等於指定陣列的長度。以下範例顯示了java.lang.reflect.Array.newInstance(Class<?> componentType, int... dimensions)
方法的用法。
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,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