Java接口的Lambda实现转Kotlin等价写法求助
嘿,这问题我熟!我来给你把这段Java代码转换成等价的Kotlin实现,分两部分讲清楚:
1. 定义公开接口
AnInterface Kotlin里的接口定义比Java更简洁,默认就是public访问权限,接口内未实现的方法默认是抽象的,完全对应你Java里的定义:
interface AnInterface { fun doSmth(inst: MyClass, num: Int) }
2. 用Lambda表达式初始化接口实例
因为AnInterface是单抽象方法接口(函数式接口),Kotlin支持直接用Lambda来实现它,写法比Java更清爽:
val impl: AnInterface = { inst, num -> // 这里写你的业务逻辑,比如打印参数示例 println("处理实例:$inst,传入数字:$num") }
如果你想让代码更简洁,还可以省略显式的类型声明,编译器会自动推断:
val impl = AnInterface { inst, num -> // 你的逻辑代码 }
两种写法效果完全一样,选你看着顺眼的就行~
内容的提问来源于stack exchange,提问作者Jocky Doe
相关产品推荐
相关产品推荐

