gpt4 book ai didi

java - Java ArrayList 可以为空并且 indexOf 返回索引 0 吗?

转载 作者:太空狗 更新时间:2023-10-29 15:00:58 27 4
gpt4 key购买 nike

我在 Android 的 Java 中有以下代码段:

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();

最佳答案

如果对象为空,它会找到空的索引(在空列表中为零)

添加一个 nullcheck,它应该可以工作

关于java - Java ArrayList 可以为空并且 indexOf 返回索引 0 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26871263/

27 4 0