如何使用scala类型(如Boolean)将所有变量更改为java类型(如java.lang.Boolean
)。因为使用scala类型时出现错误:
当我改为java类型时,这是消失的:
但我不想用scala Boolean
sepecification键入所有变量到java.lang.Boolean
因为太长了。而scala IDE自动假设使用Boolean
声明的变量是scala类型。我的意思是有任何捷径。例如在python中有类似import A.B.C as initial1
的东西。或者可以在eclipse IDE中将默认变量声明从scala类型更改为java类型。
那么为什么会出现这种错误?我写这个片段:
object CompatibleTest extends App{
println("test compatible")
val m = new java.lang.Boolean(true)
if(m.isInstanceOf[Boolean]) println("yes... ")
}
表示java.lang.Boolean
和scala Boolean
的类型相同。
答案 0 :(得分:1)
你可以
import java.lang.{Boolean => jBoolean}
保存输入。使用Java隐藏Scala Boolean
不太可能对你有用。
另请注意,Scala将其Boolean
(Java的原始boolean
)列入通用代码中的java.lang.Boolean
和其他一些上下文,包括isInstanceOf
测试。