what is "_" in scala case class

Bis*_*jit 0 scala playframework

我只是在研究一个带有休眠的 Play/scala 示例。我案例类我发现了一些这样的东西......

class Buddy(first: String, last: String) {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
var id: Int = _

var firstName: String = first
var lastName: String  = last

def this() = this (null, null)

override def toString = id + " = " + firstName + " " + lastName 
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释这一行“var id:Int = _”的含义。

这段代码中“__”的确切含义是什么。我猜它与getter方法无关,因为在这种情况下我猜getter方法名称将是id_。

提前致谢 ...

Avi*_*rya 5

“_”表示“默认值” 现在不同数据类型的默认值可能不同。例如

default is 0 for Int
default is 0.0 for double
default is null for reference types
Run Code Online (Sandbox Code Playgroud)

很快

在您的情况下,值为 0