Aというクラスがあります。iこのクラスには、文字列名と、この文字列のセッターとゲッターがあります。次のように初期化されているリストもあります。
List<A>myList = ArrayList<A>(SomeOtherList);
ArrayListのサイズを確認すると、リストのサイズが139であることがわかりますが、インデックス6の値を取得しようとすると、次のようになります。
java.lang.IndexOutOfBoundsException: Index: 6, Size: 6.
しかし、forループで0から138までの値を出力しようとすると、例外は発生しません。
String name = myList.get(6).getName(); // Exception
for(int i = 0 ; i < 139 ; i++){
System.out.println(myList.get(i).getName());
}//will work
誰かがこの問題に遭遇したことがありますか?
forループは139の名前すべてをコンソールに出力しますが、コードがget関数の行に到達すると、フロー例外が発生します。
Caused by: java.lang.IndexOutOfBoundsException: Index: 6, Size: 6
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at com.icap.dashboard.DashboardPage.getSelectionFromCookie(DashboardPage.java:337)
at com.icap.dashboard.DashboardPage.addCCYPanelAndChannels(DashboardPage.java:149)
at com.icap.dashboard.DashboardPage.<init>(DashboardPage.java:107)
... 52 more
私はmavenを使用してプロジェクトをコンパイルします。ArrayListの初期化はコレクションNanesを使用します。