у меня есть такой код в старом стиле:Java Stream: как передать Set to Stream.of() и метод вызова для каждого элемента?
if (setContainer.getSet() == null) {
return null;
}
for (SetElement setElement : setContainer.getSet()){
if ("SomeString".equals(SetElement.getCode())) {
return setElement.getValue();
}
}
return null;
я попытался это, но это не проверить, если набор является пустым:
setContainer.getSet()
.stream()
.filter(setValue -> "SomeValue".equals(setElement.getCode()))
.map(SetElement::getValue)
.findAny()
.orElse(null) ;
, как я понимаю, я должен использовать Stream.of()
, но я не понять, как выполнить код, как описано выше, потому что он всегда возвращает Optional<Set<SetElement>>
Почему вы должны использовать 'Stream.of()'? –
как я, он будет проверять iset! = Null, или он не будет? – Igor
Я не вижу этого в [doc] (https://docs.oracle.com/javase/8/docs/api/?java/util/stream/Stream.html). –