Scala Option.orElse в Java - PullRequest
       0

Scala Option.orElse в Java

4 голосов
/ 30 января 2012

Та же идея, что и у моего предыдущего вопроса , только чуть более продвинутый.Я хочу написать следующий код Scala на Java:

Option(System.getProperty("not.present")).orElse(Some("default")).get

Я пробовал это:

    final Function0<Option<String>> elseOption = new Function0<Option<String>>() { 
        @Override public Option<String> apply() { 
            return new Some<String>("default"); 
        }
    };

    final Option<String> notPresent =
        new Some<String>(System.getProperty("not.present")).
        orElse(elseOption).get();

Но я получаю:

<anonymous OptionDemo$1> is not abstract and does not override abstract method apply$mcD$sp() in scala.Function0
[error]       orElse(new Function0<Option<String>>() {

1 Ответ

2 голосов
/ 30 января 2012

Расширить AbstractFunction0 вместо Function0.Это должно дать вам предоставленные черты методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...