在 Kotlin 中,可以使用反射来动态遍历类的所有字段。以下是一个示例代码:
import kotlin.reflect.full.declaredMemberProperties
class Person(val name: String, val age: Int)
fun main() {
val person = Person("John", 25)
val properties = person::class.declaredMemberProperties
for (property in properties) {
val propertyName = property.name
val propertyValue = property.get(person)
println("$propertyName = $propertyValue")
在上述示例中,首先定义了一个 Person
类,并创建了一个 person
对象。然后使用 person::class.declaredMemberProperties
来获取 Person
类的所有属性。使用 for
循环遍历属性列表,通过 property.name
获取属性名,通过 property.get(person)
获取属性值,最后打印出属性名和属性值。
运行以上代码,输出结果如下:
name = John
age = 25
注意:使用反射操作类的属性会带来一定的性能开销,因此应尽量避免在性能敏感的场景中过度使用反射。