泛型
¶主要内容
- 泛型函数和类的声明
- 类型擦除(erasure)和具现(reified)
- Declaration-site and use-site variance
kotlin的泛型类型并不属于类型系统上的实现,而是尽量往Java方向兼容。所以实现形式上很多概念是等价的。
kotlin的泛型类型并不属于类型系统上的实现,而是尽量往Java方向兼容。所以实现形式上很多概念是等价的。
higher-order functions , 高阶函数,指函数包含lambda入参或lambda作为返回值的函数。
类似于Java语言有好几样特性一样,譬如对象实现了java.lang.Iterable
接口的可以使用for
循环,实现了java.lang.AutoCloseable
接口的可以使用try-with-resources语句(Java 8 之后)。Kotlin提供了一种 convertions 技术,实现对操作符的重载。
Kotlin对空值类型的处理,并不是使用ADT。诸如Option
、Either
,而是使用符号记法?
。对于类型转换,不使用协变逆协变,而是使用as
和Any?
这种语法。