java - 用Scala中的Option包装Java中的空返回方法?

标签 java scala scala-option

假设我有一个方法 session.get(str: String): String 但你不知道它会返回一个字符串还是 null,因为它来自 Java。

在 Scala 中是否有更简单的方法来处理此问题,而不是 session.get("foo") == null ?也许像 ToOption(session.get("foo")) 这样应用一些魔法,然后我可以像

一样以 Scala 方式处理它
ToOption(session.get("foo")) match {
    case Some(_) =>;
    case None =>;
}

最佳答案

Option 伴随对象的 apply 方法用作可空引用的转换函数:

scala> Option(null)
res4: Option[Null] = None

scala> Option(3)   
res5: Option[Int] = Some(3)

关于java - 用Scala中的Option包装Java中的空返回方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4692506/

相关文章:

scala - 为什么授权指令在它应该保护的代码之后执行?

scala - 增加 Spark shell 可用的内存

scala - 是否可以使用 SBT 的反射?

scala - 将 Either[A, B] 转换为 Option[A],其中 Left 变为 Some

scala - Scala 中带有 getOrElse bool 默认值的选项

java - 将空 XML 元素打印为开始标记、结束标记

java - 如何在 Qpid 中设置安全提供程序以允许匿名以及名称/密码身份验证?

Scala 惯用语从迭代器中找到第一个选项

java - 为什么 Random 中的 next 方法使用 compareAndSet?

java - 是否可以启动/停止 "java flames graph"跟踪?