一、问题描述概要:java.lang.IndexOutOfBoundsException,Index和Size不同的值,有不同的含义,先理解这两项对解决问题更有帮助
开发中,报错:java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
注意:“ Index: 1, Size: 0”这个是很重要的信息
二、解决一般地,IndexOutOfBoundsException 索引越界异常,一般都是与数组、集合相关。
建议在排错时,着重在这两方面的代码上。
1、java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
这里的size是0,但是index已经为1了,那么就是跳过了index=0,导致了这个报错。
这个bug的是因为,在add元素时,直接指定了index=1,跳过了index=0。应该加判断。
2、java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
这里Index: 0, Size: 0 大概有三种可能:
(1)取了空值
list集合没有添加非空校验,在取第一条数据时,由于list集合为空,直接就报错了
解决:list集合添加非空校验,再取值
(2)使用List的get()方法传参超过List的大小。
(3)使用List.add(int index, E element)方法时,index参数值大于等于集合大小,导致报错。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)