2017-11-24 6 views
0

스칼라에서 BeanProperty에 사용할 내 자신의 setter를 어떻게 정의 할 수 있습니까?스칼라 BeanProperty는 사용자 정의 setter를 사용합니다.

class Person { 
    @BeanProperty var name = "" 

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

내가 이와 같이하면, 컴파일러는 BeanProperty와 다른 코드로 작성된 충돌하는 두 세트 터를 보여줍니다.

답변

0

이렇게하면 효과가 없을 것이라고 생각합니다. 대신, 당신은 다른 접근 방식이 될 것

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

    } 

을 시도 할 수 :

private var name = "" 

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

나는 좀이 도움이 thing.Hope BeanProperty을 받고 주위에 이런 식으로 생각.

관련 문제