Kotlin:如何通过var访问嵌套的对象或属性?

时间:2018-11-12 18:07:09

标签: object kotlin nested

kotlin中是否存在通过变量访问嵌套的复杂对象(从JSON字符串解析)的本地方法?

类似:

   var = "Obj4"
    a = Obj1.Obj2.Obj3.$var.Obj5.Array[index]

非常感谢

1 个答案:

答案 0 :(得分:0)

取自here

使用反射。不要忘记添加依赖项。 任何人的全局内联扩展乐趣:

 inline fun <reified T : Any> Any.getThroughReflection(propertyName: String): T? {
    val getterName = "get" + propertyName.capitalize()
    return try {
        javaClass.getMethod(getterName).invoke(this) as? T
    } catch (e: NoSuchMethodException) {
        null
    }
}