問題の説明
配列インデックスが指定されたしきい値を超えており、参照されているオブジェクトのサイズが配列のサイズを超えています。
解決策
配列インデックスが指定されたしきい値を超えており、参照されているオブジェクトのサイズが配列のサイズを超えています。配列を管理する前に、配列サイズをチェックして、参照されているオブジェクトが存在するかどうかを確認します。存在する場合は、オブジェクトが返されます。そうでない場合は、null が返されます。
サンプル コード
public String arrayOutOfBounds(String[] array, int index){
if(array!=null && array.length>index && index>=0){
System.out.println("content is: "+array[index]);
return array[index];
}
return null;
}
例:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 5
at Main.arrayOutOfBounds(Main.java:20)
at Main.main(Main.java:7)
このクラッシュは、配列のサイズが 0 ですが、配列のオブジェクトが取得されているために発生します。根本原因は、SourceFile の 20 行目に指定されているように、配列で Get 操作が呼び出されたときに、配列インデックスが指定されたしきい値を超えていることです。