Java 泛型中的协变与设计原则冲突
协变逆变(Covariance and Contravariance: Conflict without a Cause)
设:
A 和 B 是类型(types);
f 是一个类型变换器(type constructor / type transformation),例如 f(T) = List<T>;
≤ 表示子类型关系(subtyping relation),即 A ≤ B 表示 A 是 B 的子类型(即 A <: B)。
那么:
协变(Covariant):如果 A ≤ B,则...
hanweiwei.hashnode.dev2 min read