Scala BeanProperty使用自定义setter

时间:2017-11-24 07:09:54

标签: scala javabeans

如何在scala中定义一个我自己的setter用于BeanProperty?

class Person {
    @BeanProperty var name = ""

    def name_= (newName: String): Unit = {
       name = newName.toLowerCase
    }
}

当我做这样的事情时,编译器会显示两个由BeanProperty生成的冲突的setter,以及其他用代码编写的setter。

1 个答案:

答案 0 :(得分:0)

我觉得它不会这样。相反,你可以尝试

  case class Person(var name: String) {
      def setName(s: String) {name = s} 

    }

替代方法是:

private var name = ""

    def setName(name: Name) { 
      this. name = name 
    }

我想通过这种方式获得BeanProperty有点事。希望它有所帮助。