當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java java.lang.reflect.Array.newInstance()用法及代碼示例



描述

這個java.lang.reflect.Array.newInstance(Class<?> componentType, int... dimensions)方法創建一個具有指定組件類型和尺寸的新數組。如果 componentType 表示非數組類或接口,則新數組的組件類型為維度、長度維度和組件類型。如果componentType代表一個數組類,則新數組的維數等於dimension.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- 如果指定的維度參數是 zero-dimensional 數組,或者如果請求的維度數量超過了實現支持的數組維度數量的限製(通常為 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

相關用法


注:本文由純淨天空篩選整理自 java.lang.reflect.Array.newInstance() Method Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。