Java 使用.children().get(22)OutOfBoundsException时的Jsoup

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")); } 我有一个例外:

我想从菜单中选择42项,当我通过22时,42元素被打印出来,但它显示出边界外的异常。帮帮我

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你在哪里对我的不好很好的解决了再次谢谢