マップを反復処理する反復子を使用するメソッドを作成し、ペアごとに多くの 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;
}