Я создал метод, который использует итератор, который выполняет итерацию через карту, и для каждой пары он вычисляет оператор со многими условиями ИЛИ. Если условие истинно, оно добавляет объект пары (объект уведомления) в список (аномалии). Однако во время компиляции компилятор предоставляет исключение NullPointerException в этом методе. Основываясь на моем исследовании, кажется, что в заявлении if есть проблема, но я не понимаю, почему. Может ли кто-нибудь помочь мне в этом? Благодаря!Множественные условия OR в операторах 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;
}
Перед 'if' заявления, распечатать каждый из объектов вы изучения (' message.getDescription() ',' notificationSearchCriteria.getDescription() 'и т. д.), чтобы убедиться, что ни один из них не является« нулевым ». Я предполагаю, что один из них нигде не назначается. – iamnotmaynard
'NullPointerException' происходит во время выполнения, ** никогда ** во время компиляции. – jlordo
Ваш оператор if выглядит неправильно, но исключение NullPointerException для меня звучит как один из объектов в инструкции if, действительно, является нулевым. Я бы удостоверился, что notificationSearchCriteria не является нулевым, когда он передается в функцию и видит, помогает ли это. –