Я застрял в простой проблеме: у меня есть java.util.Optional
и вы хотите использовать метод orElseThrow
для выброса исключения, если значение отсутствует. Однако я не могу представить правильный синтаксис для этого в Xtend. В Java я бы сделал:Каков правильный синтаксис для параметра Optional.orElseThrow в Xtend?
Optional<String> host = ... // get from some method
host.orElseThrow(() -> new IllegalArgumentException("Host is not provided"));
Но это не скомпилировано в Xtend. Сообщение об ошибке в Затмении, как это (где MyClass
это имя моего пользовательского класса):
Multiple markers at this line
- Type mismatch: cannot convert from Pair<MyClass, IllegalArgumentException> to Supplier<? extends Throwable>
- no viable alternative at input ')'
Пожалуйста, помогите!
Спасибо! Этот синтаксис работает! Кроме того, с помощью ссылки можно также использовать другую нотацию: host.orElseThrow (| new IllegalArgumentException («Host не предоставляется»)) – Vivit