Kotlin:迭代对象的组件

每个对象都有一个组件,像component1,component2等每个属性。我想知道在Kotlin中是否有任何方法来遍历每个类的组件。 说我有课:

class User(age:Int, name:String) 

我可以做些什么:

 for(component in anUserObject){ //do some stuff } 

首先, componentN属性只能在数据类上使用,而不能在每个对象上使用。

没有专门用于迭代组件的API,但是可以使用Kotlin反射来遍历任何类的属性:

 class User(val age: Int, val name: String) fun main(args: Array<String>) { val user = User(25, "Bob") for (prop in User::class.memberProperties) { println("${prop.name} = ${prop.get(user)}") } }