国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

kotlin能否將java 反射取到method轉(zhuǎn)換為高階函數(shù)? 如果可以如何操作?
扔個(gè)三星炸死你
扔個(gè)三星炸死你 2017-06-23 09:13:40
0
1
927

kotlin能否將java 反射取到method轉(zhuǎn)換為高階函數(shù)? 如果可以如何操作?
這里只是舉一個(gè)例子,實(shí)際執(zhí)行會(huì)報(bào)錯(cuò)。

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)//這里并不行 會(huì)報(bào)java.lang.reflect.Method cannot be cast to kotlin.jvm.functions.Function1
            fu("呵呵呵");
        }
    }
}
扔個(gè)三星炸死你
扔個(gè)三星炸死你

全部回復(fù)(1)
僅有的幸福

反射不行的吧,不過(guò)對(duì)于單抽象方法的接口(SAM Type),Kotlin 在調(diào)用 java 時(shí),有一個(gè) SAM 轉(zhuǎn)換的機(jī)制,從而可以使用 lambda ~
比如 view.post{dosomething()},相當(dāng)于把需要 Runnable 接口的 post 函數(shù)轉(zhuǎn)換成了一個(gè)高階函數(shù)。

更多: http://www.jianshu.com/p/6386...

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板