我的一个scala类中有一个变量,其值仅在调用特定方法时首次设置。方法参数值将是字段的初始值。所以我有这个:
classX {
private var value: Int= _
private var initialised = false
def f(param: Int) {
if (!initialised){
value = param
initialised = true
}
}
}
是否有更类似于scala的方法?选项看起来有点太麻烦......
答案 0 :(得分:15)
实际使用Option
不那么麻烦,因为value
是否已初始化的问题可以从Some
或None
的值中推断出来。 {1}}。这比使用标志更加惯用Scala。
Option