文章目录
一、泛型 out 协变
二、泛型 in 逆变
三、泛型 invariant 不变
四、泛型逆变协变代码示例
五、使用 reified 关键字检查泛型参数类型
本章总结 : 使用了 泛型 out...作为 函数的返回值 类型 , 则在 声明 泛型参数 类型 时 , 在 泛型参数 前 使用 out 关键字 , 同时 该 泛型类 又称为 生产类 ( 生产接口 ) , 用于生产 泛型类 指定的泛型对象...;
代码示例 : 在下面的接口中 , 泛型类型 只用于作为 返回值 ;
interface Producer {
fun produce(): T
}
二、泛型 in 逆变
---...使用 in 关键字 , 同时 该 泛型类 又称为 消费类 ( 消费接口 ) , 用于消费 泛型类 指定的泛型对象 ;
代码示例 : 在下面的接口中 , 泛型类型 只用于作为参数 ;
interface...泛型类型 作为 函数的返回值 类型 ,
则在 声明 泛型参数 类型 时 , 既不使用 in 关键字 , 又不使用 out 关键字 ;
代码示例 : 在下面的接口中 , 泛型类型 即用于作为 返回值 ,