我创建了一个使用迭代器的方法,该迭代器遍历一个映射,并为每一对评估一个具有许多 OR 条件的语句。如果条件为真,它将对的对象(通知对象)添加到列表(异常)中。但是,在编译时,编译器会在此方法处给出 NullPointerException 异常。根据我的调查,if 语句似乎有问题,但我不明白为什么。任何人都可以在这方面给我帮助吗?谢谢!
public List<Notification> getAnomalies(NotificationSearchCriteria notificationSearchCriteria) {
Map<String,Notification> messageList = new HashMap<String,Notification>();
List<Notification> anomalies = new ArrayList<Notification>();
Iterator iterator = messageList.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry pairs = (Map.Entry)iterator.next();
Notification message = (Notification) pairs.getValue();
if(message.getDescription().equals(notificationSearchCriteria.getDescription())||message.getSubjectName().equals(notificationSearchCriteria.getSubjectName())||message.getNotificationSubject().toString().equals(notificationSearchCriteria.getNotificationSubject().toString())||message.getNotificationType().toString().equals(notificationSearchCriteria.getNotificationType().toString())){
anomalies.add(message);
}
}
}
return anomalies;
}