Как я могу преобразовать это для цикла с использованием потока.
for (final Foo foo : fooList) {
if (!FooConstant.FOO_TYPE.equals(foo.getType())) {
throw new BadRequestException(
LOGGER,
FooErrorEnum.NOT_FOO_TYPE.name(),
String.format("Element %s is not Foo type", foo.getId())
);
}
}
Я пытался сделать это, но foo.getId()
недоступно в orElseThrow()
. Примечание: исключение BadRequestException является проверенным.
fooList.stream().filter(foo -> !FooConstant.FOO_TYPE.equals(foo.getType())
.findFirst()
.orElseThrow(() -> new BadRequestException(LOGGER, FooErrorEnum.NOT_FOO_TYPE.name(), String.format("Element %s is not Foo type", foo.getId()));