Javareflect-array-newinstance
提供:Dev Guides
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 …の宣言です。 次元)*メソッド。
public static Object newInstance(Class<?> componentType, int... dimensions)
throws IllegalArgumentException, NegativeArraySizeException
パラメーター
- componentType -新しい配列のコンポーネントタイプを表すClassオブジェクト。
- dimensions -新しい配列の次元を表すintの配列。
戻り値
新しい配列。
例外
- NullPointerException -指定されたcomponentTypeがnullの場合。
- IllegalArgumentException -指定された次元引数がゼロ次元配列である場合、または要求された次元の数が実装によってサポートされる配列次元の数の制限(通常255)を超える場合、またはcomponentTypeがVoid.TYPEである場合
- ArrayIndexOutOfBoundsException -指定されたインデックス引数が負の場合。
例
次の例は、java.lang.reflect.Array.newInstance(Class <?> componentType、int … 次元)メソッド。
package com.finddevguides;
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