Kotlin与Java互操作性及并发编程
1. Kotlin与Java互操作性问题及解决方案
1.1 函数名冲突与自定义JVM名称
在Kotlin中定义的 goto 函数在Java中无法调用,因为 goto 是Java的保留关键字。可以通过提供自定义的JVM名称来解决这个问题。
1.2 函数重载生成
Kotlin函数可以为参数设置默认值,调用时可以省略部分参数:
// util.kt
fun restrictToRange(
what: Int,
from: Int = Int.MIN_VALUE,
to: Int = Int.MAX_VALUE
): Int {
return Math.max(from, Math.min(to, what))
}
fun main() {
println(restrictToRange(100, 1, 10)) // 10
println(restrictToRange(100, 1)) // 100
println(restrictToRange(100)) // 100
}
然而,Java没有默认值的概念,上述Kotlin函数在Java中会变成:
public int restrictToRange(int what, int from, int to) {...}
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



