如何从 Java 访问 scala.None
?
最后一行导致编译器因“type scala.None 不带参数”而死。
import scala.Option;
import scala.Some;
import scala.None;
final Option<String> object1 = new Some<String>("Hi there");
final Option<String> object2 = new None<String>();
这失败了,“找不到符号构造函数 None()”:
final Option<String> object2 = new None();
这失败了,“找不到符号变量无”:
final Option<String> object2 = None;
在 2007 年,这曾经有效,但后来 Scala 发生了变化。 Java 编译器给出 error: incompatible types
:
final Option<String> object2 = scala.None$.MODULE$;
最佳答案
这可能有效:
final scala.Option<String> x = scala.Option.apply(null);
def apply [A] (x: A): Option[A]
An Option factory which creates Some(x) if the argument is not null, and None if it is null.
关于java - 从 Java 访问 scala.None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9059511/