reflection을 사용한 변수 접근
kotlin에서는 java reflection 보다 간단하게 사용할 수 있도록 해준 것 같다.
data class ABC(
val a: Boolean,
val b: Boolean,
val c: Boolean
)
클래스의 멤버 변수를 활용해서 list형태로 값이 true인 변수들만 변수명을 만들려고 한다.
이때 하는 방법은 간단했다.
class SimpleGrantedAuthority(val name:String)
val instance = ABC(a=true, b=false, c=true)
ABC::class.memberProperties.filter {
it.getter.call(instance) as Boolean
}.map {
SimpleGrantedAuthority(it.name)
}
요런식으로 변환하니 간단하게 되더라
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.