728x90
data class로 instance객체를 생성한 뒤
property (field) name을 순회하는 방법
for(prop in Class명::class.memberProperties) {
println("${prop.name} : ${prop.get(해당클래스로만든 instance)");
}
근데 이렇게하면.. 왜인지 field들이 abc순서대로 정렬되어 출력된다
Class명::class.primaryConstructor?.parameter?.forEach{
println("${it.name} : ${it.type}")
val property:String = it.name.toString()
println(instance.javaClass.kotlin.memberProperties.first{it.name==property}.get(instance))
}
이렇게 선언하면 내가 선언한 필드명대로
필드이름 / 타입 / 해당 필드에 해당하는 instance.{fieldName} 이거 값
이렇게 접근 가능하다
근데 이렇게까지 해야하나..?
라이브러리 반입이 reflect까지밖에안되어 있어서 어쩔수 없긴 하지만... 이건좀
https://stackoverflow.com/questions/51687098/kotlin-get-property-in-the-same-order-they-are-declared
728x90