入力配列 tableParameter の値に従って、実行時に配列を作成する必要があります。
私のコードの例は次のとおりです。
int[] tableParameter = new int[dimension + 1];
tableParameter[0] = N;
for(int i = 1; i < tableParameter.length; i++)
tableParameter[i] = i;
Object myArray = Array.newInstance(int.class, tableParameter);
//set the index 1 of the array with the value 100
Array.setInt(myArray, 1, 100);
上記のコードの最後の行で例外が発生します。
Exception in thread "main" java.lang.IllegalArgumentException: Argument is not an array
しかし、私が使用したとき、
System.out.println(myArray.getClass().getCanonicalName());
myArray のクラスを確認するために、int[][][][] を出力します。これは、myArray が間違いなく配列型であることを意味します。
では、JVM が myArray が配列ではないという例外をスローするのはなぜでしょうか?