Java 使用.children().get(22)OutOfBoundsException时的Jsoup
我想从菜单中选择42项,当我通过22时,42元素被打印出来,但它显示出边界外的异常。帮帮我Java 使用.children().get(22)OutOfBoundsException时的Jsoup,java,android,exception,jsoup,Java,Android,Exception,Jsoup,我想从菜单中选择42项,当我通过22时,42元素被打印出来,但它显示出边界外的异常。帮帮我 Elements links3 = doc.select("menu#zz18_ViewSelectorMenu"); for (Element link : links3) { System.out.println("\nlink : " + link.children().get(22).attr("onMenuClick")); } 我有一个例外:
Elements links3 = doc.select("menu#zz18_ViewSelectorMenu");
for (Element link : links3) {
System.out.println("\nlink : " + link.children().get(22).attr("onMenuClick"));
}
我有一个例外:
FATAL EXCEPTION: Thread-5150
java.lang.IndexOutOfBoundsException: Invalid index 22, size is 22 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
at java.util.ArrayList.get(ArrayList.java:304)
at org.jsoup.select.Elements.get(Elements.java:544)
at com.example.projet1.wsActivity$1.run(wsActivity.java:117)
at java.lang.Thread.run(Thread.java:856)
索引22无效,大小为22
…告诉您ArrayList的大小是22,因此您可以使用的最大索引是21。列表中的索引是基于0的,因此如果列表中有22项,则它们的索引是0到21
为了完整起见,对于大小为5的ArrayList:
0-第一项
1秒
2-3
3-4
4-最后
如果需要最后一个元素,请使用get21 arraylist大小为22 arraylist索引从0开始
for (Element link : links3) {
System.out.println("\nlink : " + link.children().get(21).attr("onMenuClick"));
}
捕捉IndexOutofBounds异常也是一个很好的练习
它只有22个元素
Elements elements = doc.select("menu#EE18_ViewSelectorMenu");
Elements menuelements =elements.get(0).children();
for (int i = 0; i < menuelements.size(); i++) {
String required = menuelements.get(i)
.attr("onMenuClick");
}
yha你在哪里对我的不好很好的解决了再次谢谢