Scala:变量类型推断会影响性能吗?

Mar*_*ins 6 types scala type-inference

在Scala中,您可以通过指定类型来声明变量,如下所示:(方法1)

var x : String = "Hello World"
Run Code Online (Sandbox Code Playgroud)

或者你可以让Scala自动检测变量类型(方法2)

var x = "Hello World"
Run Code Online (Sandbox Code Playgroud)

为什么要使用方法1?它有性能优势吗?
一旦声明了变量,在方法1或方法2声明的所有情况下,它的行为是否完全相同?

Nic*_*udo 14

类型推断是在编译时完成的 - 它本质上是编译器搞清楚你的​​意思,填写空白,然后编译生成的代码.

这意味着类型推断不会有运行时成本.在编译时间成本,但是,有时高得惊人,并要求你明确标注你的一些表情.

  • 好吧,让我这样说吧.如果键入注释方法,则编译器只有一种类型可供检查.如果不这样做,则必须检查所有可以匹配返回值的类型,并采用程序中其余部分仍然键入类型检查的最严格的类型.所以,不,不是完全相同的事情. (2认同)