gpt4 book ai didi

Kotlin 获取声明的成员属性值

转载 作者:行者123 更新时间:2023-12-02 12:46:30 24 4
gpt4 key购买 nike

Class#getDeclaredField 的等效代码是什么?在 Kotlin ?我正在寻找纯 Kotlin 实现……也许是一种反射(reflection)?

class Test {
public static final String TEST = "Hello";
public static void main(String[] args) {
System.out.println(
Test.class.getDeclaredField("TEST").get(Test.class));
}
}

最佳答案

首先,添加这个依赖以避免运行时错误

<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>1.3.50</version>
</dependency>

然后:

val member = Test::class.members.find { it.name=="TEST" }
println(member)
println(member.call(Test())

输出:

val generic.Test.TEST: kotlin.String
Hello

成员类型是Kcallable<*>?

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-callable/index.html

关于Kotlin 获取声明的成员属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58351219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com