java - 从 Java 访问 scala.None

标签 java scala singleton scala-java-interop option-type

如何从 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/

相关文章:

java - 将枚举 INSTANCE 设为私有(private)

java - Android 5.0(API 21)之前如何确认设备凭证?

java - HashMap 未填充

scala在线代码执行

java - 如何使用 java 或 scala 处理大文件的最后一 block

java - 线程安全的枚举单例

java - 保持前端 Typescript 类型与后端源代码类型保持一致

java - 用数字替换符号

java - URL.openConnection() 第二次返回已经打开的连接

go - 如何实现单例