[英]Jsoup when using .children().get(22) OutOfBoundsException
我想从菜单中选择42项,当我通过22时,将打印42元素,但它显示出outofboundsException。 帮帮我。
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
。 List
的索引是从0开始的,因此如果列表中有22个项目,则它们的索引是0
到21
。
因此,为了完整ArrayList
使用大小为5的ArrayList
:
如果需要最后一个元素,请使用get(21)
arraylist的大小为22(arralylist索引从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");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.