java - Maybes 是 Scala 的好模式吗?

标签 java scala null option-type scala-option

一段时间以来,我一直在努力将 scala 与可能返回 null 的 java 方法集成。我想出了以下有用的实用程序:

// produce an Option, nulls become None
object Maybe {
    def apply[T](t:T) = if (t==null) None else Some(t)
}

Maybe(javaClass.getResultCouldBeNull()).map( result => doSomeWork(result) )

我对这个解决方案有几个问题:

  1. 是否有更好或更标准的模式可供使用?
  2. 我是否在复制已经存在的东西?
  3. 此功能是否存在隐藏问题?

最佳答案

Scala 的内置 Option是您打算 reshape 的东西。

在那种情况下:

scala> val sOpt: Option[String] = Option(null)
sOpt: Option[String] = None

关于java - Maybes 是 Scala 的好模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2946739/

相关文章:

python - 这是 notnull() 的 Pandas 错误还是我的根本误解(可能是误解)

java - ArrayList 自动添加空项

sql - 在 SQL 中使用 RANK() OVER 将 rank 设置为 NULL

java - 摆脱未经检查的分配

java - IntelliJ IDEA 中缺少 "Update resources"选项

scala - 如何在多项目 sbt 设置中包含 lib 下的 jar?

scala - 如何设计一个接受所有域但依赖于某些状态的部分函数?

Java 错误 - 找不到符号 "a"?

javax.net.ssl.SSLException : Connection closed by peer on 4. 4.2 设备(适用于 6.0.1)

java - atomicLong 如果 atomic long 大于某个数字,是否可以进行 compareAndSet?