Itt*_*ayD 10 variables scala initialization
如何在Scala中声明泛型变量而不初始化它(或初始化为任何值)?
def foo[T] {
var t: T = ???? // tried _, null
t
}
Run Code Online (Sandbox Code Playgroud)
Mit*_*ins 15
def foo[T] {
var t: T = null.asInstanceOf[T]
t
}
Run Code Online (Sandbox Code Playgroud)
而且,如果你不喜欢参与其中的仪式,你可以这样放松:
// Import this into your scope
case class Init()
implicit def initToT[T](i: Init): T = {
null.asInstanceOf[T]
}
// Then use it
def foo[T] {
var t: T = Init()
t
}
Run Code Online (Sandbox Code Playgroud)
您不能初始化局部变量,但您可以对字段执行此操作:
scala> class foo[T] {
| var t: T = _
| }
defined class foo
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5403 次 |
最近记录: |