Чтобы упростить мою проблему, предположим, что у меня есть список строк при преобразовании этой строки в целые числа, с которыми я могу столкнуться NumberFormatException
, из элемента, который я получаю это исключение, мне нужно один раз пометить все элементы-преемники как неудачные. Есть ли лучший способ передать состояние предыдущего элемента или улучшить этот код?
AtomicBoolean isInvalidRequest = new AtomicBoolean(false);
list.stream().map(ele -> {
if (!isInvalidRequest.get()) {
try {
Integer.parseInt(ele);
} catch (NumberFormatException e) {
isInvalidRequest = new AtomicBoolean(true);
}
return ele;
} else {
return "invalid previous element";
}
});
Учитывая список элементов List("1", "2", "A", "4", "3")
Исключенный вывод элементов List("1", "2", "A", "invalid previous element", "invalid previous element")
Редактировать
Как уже упоминалось, это упрощенная версия моей актуальной проблемы. В реальной проблеме мой отказ - это вызов HTTP POST, мне нужно отказать все последующие элементы из элемента, я получаю ответ об ошибке.