Kotlin 1.4中的功能接口

问题描述 投票:0回答:2

此功能即将推出Kotlin 1.4。这是KotlinConf'19的摘录。

fun interface Action {
    fun run()
}

fun runAction(a: Action) = a.run()

runAction{
    println("Hello")
}

看起来不错,但我仍然不知道它的作用。

什么是功能界面?它的实际价值是什么?它可以用于哪些特定场景?

kotlin functional-interface
2个回答
0
投票

它打算支持lambda

我想拥有带有功能接口的invoke-function是因为这是java定义lambda的方式,lambda的应该是可调用的

创建lambda in kotlin instead of Java

当前的SAM转换仅适用于Java接口和抽象类。该设计背后的最初想法是针对此类用例明确使用函数类型。然而,事实证明,函数类型和类型别名并不能涵盖所有用例,并且人们经常不得不在Java中保留接口只是为了获得SAM转换。


0
投票

这是关于功能接口

© www.soinside.com 2019 - 2024. All rights reserved.