Kotlin中Lambda接口的实现

相当于kotlin中的代码,我尝试执行的操作似乎无效:

public interface AnInterface {

void doSmth(MyClass inst, int num);

}

在里面:

AnInterface impl = (inst, num) -> {

//...

}

回答:

如果AnInterface是Java,则可以使用SAM转换:

val impl = AnInterface { inst, num -> 

//...

}

否则,如果界面是Kotlin

interface AnInterface {

fun doSmth(inst: MyClass, num: Int)

}

…您可以使用object语法匿名实现它:

val impl = object : AnInterface {

override fun doSmth(inst:, num: Int) {

//...

}

}

以上是 Kotlin中Lambda接口的实现 的全部内容, 来源链接: utcz.com/qa/418151.html

回到顶部