概要: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参数值大于等于集合大小,导致报错。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117622.html