我想删除数组中的字段。 该数组包含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;
}
}
在“容器”的其中一个元素很可能是'null'。我们不能仅仅帮助你提供给我们的代码,因为'容器'没有在那里设置。请为我们提供一份[SSCCE(简短,独立,正确(可编译),示例)](http://sscce.org)。 – Dukeling
只需打印所有的堆栈跟踪,你就会发现原因。你应该改变这一行:if(container [i] .id == index)'if'(container [i]!= null && container [i] .id == index)'。 –