与 Java 比较
Kotlin 中得到解决的一些 Java 问题
Java 中长期困扰的一系列问题, 在 Kotlin 得到了解决:
Null 引用 由类型系统管理.
Kotlin 中的数组是 类型不可变的
与 Java 中的 SAM 变换方案相反, Kotlin 中存在专门的 函数类型(function type)
不使用通配符的 使用处类型变异(Use-site variance)
Kotlin 中不存在受控 异常
Java 中有, 而 Kotlin 中没有的功能
不是类的 基本数据类型. Kotlin 编译产生的字节码会尽可能使用基本数据类型, 但在 Kotlin 源代码中并不能明确的使用基本数据类型.
静态成员 在 Kotlin 中由以下功能代替: 同伴对象(Companion Object), 顶级(top-level) 函数, 扩展(extension) 函数, 以及 @JvmStatic 注解.
通配符类型(Wildcard-type) 在 Kotlin 中由以下功能代替: 声明处类型变异(declaration-site variance) 以及 类型投射(type projection).
条件(三元)运算符
a ? b : c
在 Kotlin 中由以下功能代替: if 表达式.包内的 private 可见度修饰符
Kotlin 中有, 而 Java 中没有的功能
Lambda 表达式 + 内联函数 = 实现自定义的控制结构
类型智能转换 (Java 16: 对 instanceof 的模式匹配)
字符串模板 (Java 21: 字符串模板 (预览版))
变量和属性的类型推断 (Java 10: 局部变量的类型推断)
下一步做什么?
学习:
最终更新: 2024/12/17