和我的想法一样previous question , 只是更高级一点。我想用 Java 编写以下 Scala 代码:
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>>() {
最佳答案
扩展 AbstractFunction0
而不是 Function0
。那应该给你特征提供的方法。
关于java - Java 中的 Scala Option.orElse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9060041/