scala 2.11 版本自动生成setter getter方法

在scala2.10 版本,可以通过导入import scala.reflect.BeanProperty包,在field声明,但是2.11版本这样就不行用了找不到这个包


 查看官方API,我们可以导入scala.beans.BooleanBeanProperty:

https://www.scala-lang.org/api/2.11.5/index.html#scala.beans.BeanProperty


This annotation has the same functionality as scala.beans.BeanProperty, but the generated Bean getter will be named isFieldName instead of getFieldName.:意思就是我们可以通过导入scala.beans.BooleanBeanProperty包实现同样的方法,但是以前的getFieldName方法,也就是我们的getter方法,用isFieldName替代了

测试如下,编写Students类:

import scala.beans.BooleanBeanProperty
class Students {
  @BooleanBeanProperty
  var name1: String ="test"
}

调用getter (isFieldName) & setter方法:

object testPrint {
  def main(args: Array[String]): Unit = {
    val s =new Students
    println(s.isName1)
    s.setName1("test222")
    println(s.isName1)
  }
}

测试结果输出:



猜你喜欢

转载自blog.csdn.net/weixin_42553458/article/details/80947347
今日推荐