【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