如何修复java.lang.IndexOutOfBoundsException
线程“main”java.lang.IndexOutOfBoundsException中的异常:索引: 0,大小:0位于java.util.ArrayList.rangeCheck(ArrayList.java:604) 与arraylist.java一致如何修复java.lang.IndexOutOfBoundsException,java,web-services,arraylist,Java,Web Services,Arraylist,线程“main”java.lang.IndexOutOfBoundsException中的异常:索引: 0,大小:0位于java.util.ArrayList.rangeCheck(ArrayList.java:604) 与arraylist.java一致 private void rangeCheck(int index) { if (index >= size) throw new IndexOutOfBoundsException(outOfBoundsMsg
private void rangeCheck(int index) {
if (index >= size)
throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
}
一致
List lstpp = getResult(pp) ;
System.out.println("=====Persegi Panjang====");
System.out.println("luas = "+((Integer)lstpp.get(0)));
请帮助
lstpp
为空。您无法访问空列表的第一个元素
通常,您可以检查size>索引是否为
在您的情况下,需要检查lstp
是否为空。(您可以使用!lstpp.isEmpty()
)列表中没有任何元素,因此无法访问第一个元素。您正在尝试访问空数组的第一个元素lstpp.get(0)
。只需向数组中添加一个元素并检查!lstpp.isEmpty()
在访问元素之前发生此错误是因为列表lstpp
为空(索引0处无任何内容)。因此,要么您的getResult()
函数中存在错误,要么空列表是正常的,您需要处理这种情况(通过在之前检查列表的大小,或者捕获异常)。您希望从空数组中获取元素。这就是为什么异常中的大小为0
java.lang.IndexOutOfBoundsException:索引:0,大小:0
因此,在填充数组之前,无法执行lstpp.get(0)
。使用if(index.length()<0)
表示整数
for ( int i=0 ; i<=list.size() ; i++){
....}
或
使用if(index.equals(null)
对于字符串索引>大小do@ay89这是您正在批评的java库代码。请尝试在getResult
方法中查找问题。您需要的所有信息都在这个问题中。答案将无法提供任何突破,也许您可以将问题阅读一次,您应该得到它。@ay89您的答案索引>大小将起作用
仍然是垃圾、错误和误导,无论你指的是谁。此外,如果你能正确阅读邹所指的内容,你会注意到关系运算符是另一种方式……表现出一些尊重,并承认自己的错误。这在专业环境中是至关重要的。对不起,大声喊叫,但传播得如此明显非常糟糕的信息,并试图如此激烈地捍卫它,这让我感到愤怒。谢谢先生,我发现问题在于getResult()函数,忘记将“Return null”更改为“Return(the variable)”。我是java初学者xoxo
for ( int i=0 ; i<list.size() ; i++){
...}