-6

12 個の要素で初期化された配列を定義しましたが、その長さ属性の値が JVM によって 10 に設定されており、11 番目と 12 番目の要素にアクセスできません。問題を解決するにはどうすればよいですか? この配列が次のように定義されているとします。

private static final Type[] p = new Type[]{ null, null, null, null, null, null, null, null, null, null, null, null }; 

そして、いくつかの関数では Type x = p[11]; を使用します。次に、上記の例外が発生します

4

1 に答える 1

0
public static void main(String[] args) {
    int[] arr ={1,2,3,4,5,6,7,8,9,10,11,12};
    System.out.println(arr[11]);
}

これにより 12 が出力されます。配列インデックスは 0 から arr.length-1 までです。したがって、arr[12] にアクセスしたい場合は、java.lang.ArrayIndexOutOfBoundsException が発生します。

public class SetTest {
private static final String[] arr1 = { null, null, null, null, null, null,
        null, null, null, null, null, null };

public static void main(String[] args) {
    String p = arr1[11];
    System.out.println(p);
    System.out.println(arr1.length);

}
}

出力:

null
12
于 2013-02-21T06:08:03.980 に答える