我正在尝试删除数组中的一个字段。
该数组包含类型为 Person
的对象(Person
包含名字、姓氏、生日和 ID)。
我的目的是查找每个数组字段并将输入 ID 与所有数组字段进行比较。当我找到合适的时,我会将其设置为 null
。
但是我得到:
Exception in thread "main" java.lang.NullPointerException
我也不知道为什么。
public static void removePerson(Person[] container) {
TextIO.putln("Enter ID of person to be removed");
int index = TextIO.getInt();
for ( int i = 0 ; i < container.length ; i ++) {
if (container[i].id == index)
container[i] = null;
}
}
最佳答案
最有可能的情况是您的数组未满,因此一些容器数组条目为空,而 container[i].id
是触发空指针异常的原因。用
if ((container[i] != null) && (container[i].id==index))
看看是否能解决您的问题。
关于java - 删除数组字段(数组包含对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21032423/