出现 System.NullPointerException: Attempt To De-reference A Null Object 错误

Getting a System.NullPointerException: Attempt To De-reference A Null Object error

我在通过更新后触发器执行此方法时在包含 "modifiedUsers.add(u);" 的行中收到上述错误:

public static void MethodName(User[] newUsers, Map<id, user> oldUserMap){
    User[] modifiedUsers;

    for (User u : newUsers){
        User oldUser = oldUsermap.get(u.id);

        if ((u.field1__c != oldUser.field1__c)&&(u.field2__c == TRUE)){
            modifiedUsers.add(u); //ERROR HERE
        }
    }
}

有人知道它是什么吗?提前致谢。

试试这个。您需要先初始化列表,然后才能向其添加元素。

public static void MethodName(User[] newUsers, Map<id, user> oldUserMap){
List<User> modifiedUsers = new List<User>();

for (User u : newUsers){
    User oldUser = oldUsermap.get(u.id);

    if ((u.field1__c != oldUser.field1__c)&&(u.field2__c == TRUE)){
        modifiedUsers.add(u); //ERROR HERE
    }
}

}