8
每个对象都有一个组件,用于像component1,component2等每个属性。 我想知道在Kotlin中是否有任何方法来遍历类的每个组件。 说我有类:Kotlin:迭代对象的组件
class User(age:Int, name:String)
我可以这样做:
for(component in anUserObject){
//do some stuff
}
?
每个对象都有一个组件,用于像component1,component2等每个属性。 我想知道在Kotlin中是否有任何方法来遍历类的每个组件。 说我有类:Kotlin:迭代对象的组件
class User(age:Int, name:String)
我可以这样做:
for(component in anUserObject){
//do some stuff
}
?
首先,componentN
属性仅适用于数据类,不适用于每个对象。
没有API专门用于遍历组件,但你可以使用Kotlin reflection遍历所有类的属性:
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)}")
}
}
一个问题。我该怎么做,或者是否有可能做类似这样的事情:prop.get(this)== prop.get(other)?谢谢。 – Sermilion
您需要检查并将每个属性转换为'KProperty1'来调用getter –
这仍然是最新的?获取没有属性的错误memberProperties –