可以使 子类泛型对象 赋值给 父类泛型对象 ;
一、泛型 out 协变
----
使用 out 关键字 , 可以使 子类泛型对象 赋值给 父类泛型对象 ;
在 泛型类 中 , 如果只将 泛型类型...-
使用 in 关键字 , 可以使 父类泛型对象 赋值给 子类泛型对象 ;
在 泛型类 中 , 如果只将 泛型类型 作为 函数的参数 类型 , 则在 声明 泛型参数 类型 时 , 在 泛型参数 前...泛型类型 作为 函数的返回值 类型 ,
则在 声明 泛型参数 类型 时 , 既不使用 in 关键字 , 又不使用 out 关键字 ;
代码示例 : 在下面的接口中 , 泛型类型 即用于作为 返回值 ,...在 Java 中 , 运行时 不知道 泛型参数 的 具体类型 ; 在 Kotlin 中可以 通过 reified 关键字检查 泛型参数类型 ;
Java 中如果想要知道 泛型参数 具体类型 , 通过常规的方法无法实现..., 通过 反射 可以实现 ;
Java 泛型类对象.javaClass.name == "要判断的类的全类名"
在 函数 中 使用 reified 关键字 , 需要在 尖括号 中 泛型类型 之前