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

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)的限制或者componentTypeVoid.TYPE
  • ArrayIndexOutOfBoundsException - 如果指定的index參數為負,或者如果大於或等於指定數組的長度。

示例

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

package com.zaixian;

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

上一篇: java.lang.reflect.Array類 下一篇: java.lang.reflect Constructor<T>類