试图将可选/可空的java布尔值读入scala布尔值。将可空的java布尔转换为scala时出错布尔值
val nullableJavaBool: java.lang.Boolean = java.lang.Boolean.TRUE val x: scala.Boolean = Option(nullableJavaBool).getOrElse(java.lang.Boolean.FALSE) val y: scala.Boolean = Option(nullableJavaBool).getOrElse(false)
[scalac-2.11] /myworkspace/MyClass.scala:43: error: type mismatch; [scalac-2.11] found : Any [scalac-2.11] required: Boolean [scalac-2.11] val x: scala.Boolean = Option(nullableJavaBool).getOrElse(java.lang.Boolean.FALSE) [scalac-2.11]
^[scalac-2.11]/myworkspace/MyClass.scala:43: error: type mismatch; [scalac-2.11] found : Any [scalac-2.11] required: Boolean [scalac-2.11] val y: scala.Boolean = Option(nullableJavaBool).getOrElse(false)
能否请您解释一下这个错误背后的原因,什么是更好的方式来实现这一目标:
我同时使用以下方法得到错误?
@STaefi,没有貌似不同的问题。 – vitalii