Сбой компиляции при использовании лямбда для поставщика <? расширяет тип>
Почему это не компилируется? :
import java.util.Optional;
public class Demo {
Optional<? extends SomeValue> getOption() {
return Optional.empty();
}
void exposure() {
SomeValue someValue = getOption().orElseGet(() -> new SomeValue());
}
}
class SomeValue {}
Работает без проблем когдаgetOption()
вернетOptional<SomeValue>
.