接口与函数调用的Kotlin性能

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

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相当陌生,我想知道它们之间的区别,以及在什么情况下我应该使用函数调用与接口,除了(明显)抽象。 或者它是一样的,函数调用和匿名内部类完全一样

这个函数被调用了很多次,每次都是100次,我想知道,在性能方面,哪个更好

Kotlin中的lambda被编译成一个匿名的内部类。 因此,这两种情况的表现将完全相同。

Interesting Posts