我在Java for Android中有以下代码段:
int index = oldArray.indexOf(person);
if (index == -1) {
Log.d("Tag", "TESI index == -1");
}
else {
oldArray.remove(index); <--- error is here
newArray.add(person);
}
我收到了以下异常
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at com.tesi.salus.PersonView.updatePerson(PersonView.java:406) [line 406 is the remove]
我的问题是这怎么可能?
如果我理解得很清楚,如果oldArray
为空,则index
应为-1,而不是0.
或者,我错过了什么?
感谢。
==================
感谢您的回答。
我只有一个帖子。
oldArray
声明为:
public ArrayList oldArray<Person>;
并在下面初始化为:
oldArray = new ArrayList();
答案 0 :(得分:0)
如果对象为null,它将找到null的索引(在空列表中为零)
添加一个nullcheck,它应该可以正常工作