Прошу подсказать, как можно обыграть такую ситуацию с break:
...
List<MyDTO> myDtoList = new ArrayList<>();
someList.forEach(element -> {
switch (elenemt.getStatus()) {
case "SUCCESS":
myDtoList.add(new MyDTO().setSuccessStatus(true));
break;
case "ERROR":
myDtoList.add(new MyDTO().setSuccessStatus(false));
break;
}
});
Проблема в том, что когда выполняется break, происходит прерывание выполнения forEach
Избавимся от switch и break и проблема решена:
List<MyDTO> myDtoList = new ArrayList<>();
someList.forEach(element -> {
myDtoList.add( new MyDTO().setSuccessStatus(element.getStatus() == "SUCCESS")) );
});
someList.forEach(e -> {
switch (element .getStatus()) {
case "SUCCESS":
myDtoList.add(new MyDTO().setSuccessStatus(true));
break;
case "ERROR":
myDtoList.add(new MyDTO().setSuccessStatus(false))
break;
default:
throw new IllegalStateException("Unexpected value: " + e.getIsBlocked());
}
});