【Java】获取Method/Constructor返回的KFunction【Kotlin】

要做的事 zuò de shì)

从Java的Method/Constructor中提取出KFunction。

做法

只需从Java中调用Method.kotlinFunction/Constructor.kotlinFunction,就可以完成以下操作。

    kotlin/ReflectJvmMapping.kt at master · JetBrains/kotlin

具体来说,情况如下。

KFunction<?> function = ReflectJvmMapping.getKotlinFunction(Foo.class.getConstructors()[0]);

留心事项

由于从Class获取Method/Constructor时很少设置泛型类型参数,如果想要设置类型参数,则需要在Java中进行类型转换。

KFunction<Foo> function = ReflectJvmMapping.getKotlinFunction((Constructor<Foo>) Foo.class.getConstructors()[0]);

我参考了一篇文章。

    kotlin.reflect.KFunction java code examples | Codota
广告
将在 10 秒后关闭
bannerAds