kotlin能否将java 反射取到method转换为高阶函数? 如果可以如何操作?

kotlin能否将java 反射取到method转换为高阶函数? 如果可以如何操作?
这里只是举一个例子,实际执行会报错。

class A {

    fun haveFun(s:String){

        print(s);

    }

}


fun main(args: Array<String>) {

    val forName = Class.forName("com.gwsoft.tests.A")

    forName?.let {

        val method = forName.getMethod("haveFun", String::class.java)

        method?.let {

            val fu=method as ((s:String)-> Unit)//这里并不行 会报java.lang.reflect.Method cannot be cast to kotlin.jvm.functions.Function1

            fu("呵呵呵");

        }

    }

}


蛊毒传说
浏览 1095回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP