与 Java 语言比较
Kotlin 解决了一些 Java 中的问题
Kotlin 通过以下措施修复了 Java 中一系列长期困扰我们的问题:
Java 有而 Kotlin 没有的东西
- 受检异常
- 不是类的原生类型 —— 字节码会尽可能试用原生类型,但不是显式可用的。
- 静态成员 —— 以 伴生对象、 顶层函数、 扩展函数 或者 @JvmStatic 取代。
- 通配符类型 —— 以 声明处协变 与 类型投影 取代。
- 三目操作符
a ? b : c
—— 以 if 表达式取代。
Kotlin 有而 Java 没有的东西
- Lambda 表达式 + 内联函数 = 高性能自定义控制结构
- 扩展函数
- 空安全
- 智能类型转换
- 字符串模板
- 属性
- 主构造函数
- 一等公民的委托
- 变量与属性类型的类型推断
- 单例
- 声明处型变 & 类型投影
- 区间表达式
- 操作符重载
- 伴生对象
- 数据类
- 分离用于只读与可变集合的接口
- 协程