gpt4 book ai didi

java - 接口(interface)与函数调用的 Kotlin 性能

转载 作者:行者123 更新时间:2023-11-29 08:44:54 28 4
gpt4 key购买 nike

在 Kotlin 中,因为我们可以将函数用作变量,所以我倾向于用这样的函数调用来替换接口(interface):

class A {

private var listener: AA? = null
var callThis: (() -> Unit) ? = null)

fun somethingHere() {
callThis?.invoke()
listener?.callThis2()
}

fun attachListener(listener: AA) {
this.listener = listener
}

interface AA {
fun callThis2()
}
}

class B {
init {
val objectA = A()
objectA.callThis = {}
objectA.attachListener(object : A.AA {
override fun callThis2() {
}
})

}
}

由于我是 Kotlin 的新手,我想知道区别以及在什么情况下我应该使用函数调用与接口(interface),除了(显然)抽象。还是一样,函数调用做的和匿名内部类完全一样

这个函数被调用了很多次,每100秒一次,我想知道,就性能而言,哪个更好

最佳答案

Kotlin 中的 lambda 被编译为匿名内部类。因此,两种场景的性能将完全相同。

关于java - 接口(interface)与函数调用的 Kotlin 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37077657/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com