Kotlin 填坑记之 FunctionReference

1 · Johnson Lee · Dec. 3, 2022, midnight
在 Booster 4.15.0 之前,一直使用的是 Kotlin 1.3,之所一直用比较低的 Kotlin 版本,主要的原因还是考虑到 Kotlin 版本的兼容性问题,但要支持 AGP 7.3 就不得不升级 Kotlin 版本,因为 AGP 7.3 就依赖了 Kotlin 1.5,所以,Booster 4.15.0 花了很长的时间来解决兼容性的问题。 Kotlin 的头等公民 —— Function 头等函数 ( Function ) 是函数式编程语言不可或缺的特性,Kotlin 也不例外,由于 Function 在 Kotlin 中被广泛使用,也是兼容性问题的高发区,大家有没有好奇 Kotlin 的 Function 在字节码层面是如何实现的呢?以下面的代码为例: 1 ( Int ) -> Int 如果要在 Java 中实现上面的例子,需要定义一个 Functional Interface: 1 2 3 4 interface Int2Int { int invoke ( int value) ; } 或者使用 JDK 自带的 Function...