java - 删除数组字段(数组包含对象)

标签 java

我正在尝试删除数组中的一个字段。 该数组包含类型为 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/

相关文章:

java - 如何将两个 8 位十进制数转换为字母或字母数字代码

java - 使用 log4j 在 mule 中自定义日志文件名

java - 如何将MySQL数据库中的数据导出为特定格式的.flr或.pl文件

java - Wicket 数据表属性列

java - 跨所有线程清除数组

java - 使用 HashMap 值更新标签

java - 在 Android Studio 中获取列表时,从 Parse 获取列表而不自动选择

java - 使用 Spring 和 DBCP 和 MySQL 设置连接时区

java - 绘制多个移动图形

java - 是否有用于 Bitly API 的 Java 库?