如何使用IntelliJ IDEA生成Scala setter和getter

塞达诺

给简单的课

class MyClass {
  private var myVar: String = _
}

我如何为其生成setter和getter myVar

Code | Generate菜单显示:

  • 替代方法...
  • 实施方法...
  • 委托方法...
  • 版权
  • equals()和hashCode()
  • toString()
  • 伴侣对象

IntelliJ版本:14.1.5OS:OS X 10.10.5

肖恩·维埃拉(Sean Vieira)

@Zoltán是正确的-在Scala中,getter和setter方法并不常见,因为:

  1. Scala鼓励不变性
  2. 当创建字段时,Scala已经为您生成了它们-它们只是没有按照Java Bean约定命名(您可以通过严格限制谁可以查看和修改该字段-think来鼓励Scala不要生成这些方法final private[this] val。)
  3. 由于#2,有可能从去var someFieldprivate var _someFielddef someField = this._someFielddef someField_=(value: String) = { this._someField = value }和没有消费者更新自己的代码。换句话说,更改是源兼容的(尽管我认为它不是二进制兼容的)。

如果你需要的Java bean风格的getter和setter简单地注释字段@BeanPropertyscalac会为您生成getter和setter:

import scala.beans.BeanProperty

class MyClass {
  @BeanProperty
  var myVar: String = _
}

请注意,为了获取is布尔属性的获取器和设置器,您需要使用它BooleanBeanProperty

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章