获取对Kotlin函数的引用作为Java方法

Ric*_*ich 4 java reflection kotlin

我有一个带有Method参数的Java方法:

void doSomethingWithMethod(Method m) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我有一个包含函数的Kotlin类:

class MyClass {

    fun myFunction() : List<Something> {
        ...
    }

}
Run Code Online (Sandbox Code Playgroud)

我可以获得对函数的引用MyClass::myFunction,但是我没有看到将它传递给doSomethingWithMethod方法的方法.是否有.java可以应用于Kotlin类引用的属性的等价物以获得其Java等价物?

如果没有,是否有解决方法?

yol*_*ole 8

import kotlin.reflect.jvm.javaMethod

val method = MyClass::myFunction.javaMethod
Run Code Online (Sandbox Code Playgroud)

javaMethod物业不属于标准的Kotlin图书馆,但是该官员的一部分kotlin-reflect.jar.它可以通过Maven添加以下依赖项:

    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-reflect</artifactId>
        <version>${kotlin.version}</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)