当前位置: 首页 > 面试题库 >

Kotlin中Lambda接口的实现

柳向明
2023-03-14
问题内容

相当于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 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现: interface MyInterface { fun bar() // 未实现 fun foo() { //已实现 // 可选的方法体 println("foo") } } 实现接口 一个类或者对象可以实现一个或多个接口。 class Child : MyInterface { overri

  • Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现:interface MyInterface { fun bar() // 未实现 fun foo() { //已实现 // 可选的方法体 println("foo") } } 实现接口 一个类或者对象可以实现一个或多个接口。class Child : MyInterface { override

  • 本文向大家介绍Kotlin 与默认实现接口,包括了Kotlin 与默认实现接口的使用技巧和注意事项,需要的朋友参考一下 示例 Kotlin中的接口可以具有功能的默认实现: 实现此类接口的类将能够使用这些功能而无需重新实现 物产 默认实现也适用于属性获取器和设置器: 接口访问器实现不能使用后备字段 多种实现 当多个接口实现相同的功能,或者所有接口都定义一个或多个实现时,派生类需要手动解析正确的调用

  • 我必须使用任何额外的关键字的id Param吗?什么是“!”签名里的刻薄?

  • 我是kotlin的新手,我总是编写java。我尝试了kotlin以java方式编写的一些函数代码,但不起作用。 我将这些代码翻译成java,它就可以工作了。 即使FInter是java接口。它也不起作用。 使现代化 我尝试了一些不同的方法,现在它们都是工作。

  • 我有一个带有lambda表达式的wicket项目。在一个页面上,当用户单击“后退”按钮时,我的应用程序崩溃: 在page类(返回的地方)中,我使用lambda表达式实现此接口: 以及lambda: 当我将lambda更改为匿名类时,一切正常。在这种情况下,我应该如何使用lambda? 环境:Java1.8。0_25,网豆8.0.2,Wicket 6.17.0。 编辑:这是使用lambda的真实(但