【发布时间】:2015-06-03 09:31:41
【问题描述】:
例如,以下代码将抛出 NPE:
val badData = null: java.lang.Long
val boom: Option[Long] = Option(badData)
java.lang.NullPointerException
at scala.Predef$.Long2long(Predef.scala:358)
... 33 elided
这使得使用返回盒装原语的 Java API 变得困难。
请注意,在这个愚蠢的示例中,可以只从 boom 中删除类型声明,并且代码将运行而不会出错,但在一个更现实的示例中,这可能是不可能的/不容易的。例如:
MyCaseClass(record getValue m.ID, Option(record getValue m.USER))
记录从外部来源提取数据。
【问题讨论】:
标签: scala