提供简单的课程
class MyClass {
private var myVar: String = _
}
如何为myVar
生成setter和getter?
Code | Generate
菜单显示:
IntelliJ
版本:14.1.5
操作系统:OS X 10.10.5
答案 0 :(得分:7)
@Zoltán是对的 - 在Scala中,getter和setter并不常见,因为:
final private[this] val
)。var someField
转到private var _someField
,def someField = this._someField
和def someField_=(value: String) = { this._someField = value }
,而不会让消费者更新其代码。换句话说,更改是源兼容的(虽然我认为它不是二进制兼容)。如果您需要Java bean样式的getter和setter,只需使用@BeanProperty
注释该字段, scalac 将为您生成getter和setter:
import scala.beans.BeanProperty
class MyClass {
@BeanProperty
var myVar: String = _
}
请注意,为了获取布尔属性的is
getter和setter,您需要使用BooleanBeanProperty
。
答案 1 :(得分:3)
您可以使用Scala Bean Property
import scala.beans.BeanProperty
class MyClass {
@BeanProperty var myVar: String = _
}