我有一个名为A的类。在这个类中,我有一个String名称以及一个setter和getter。 我也有正在初始化列表如下:当索引大小为139时,索引6上的IndexOutOfBoundsException异常
List<A>myList = ArrayList<A>(SomeOtherList);
现在,当我检查我的ArrayList的大小,我可以看到列表的大小是139,但是当我试图让索引值6,我得到
java.lang.IndexOutOfBoundsException: Index: 6, Size: 6.
但是,如果我尝试从0打印值 - 138在for循环中我不会例外,
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
'java.lang.IndexOutOfBoundsException:Index:6,Size:6' => myList的大小是6.您可以在行之前包含一个'System.out.println(myList.size());'你在哪里得到例外? – assylias
你应该使用调试器。 – UmNyobe
在达到for循环之前,正在抛出异常并终止执行,因此您错误地认为您没有收到异常。 – Vulcan