*相当于java泛型的?,就是未知任意类型。Any相当于Object类型
- 逆变 in:泛型 T 最终会以
函数参数
的形式,被传入
函数里面,这往往是一种写入(in)
行为- 通常作为参数传入
- 类似 Java 中的
<? super T>
- 可以写入不可以读取(只能以
Any?
读取)
- 协变 out:泛型 T 最终会以
函数返回值
的形式,被传出
函数外面,这往往是一种读取(out)
行为- 通常作为返回值传出
- 类似 Java 中的
<? extends T>
- 可以读取,不可以写入(只能写入
Nothing
)