Inter-class variance
时间: 2024-08-15 07:10:40 浏览: 164
内类变异(Inter-class Variance)通常在Java或泛型(Generics)上下文中提到,它是指不同类型之间的类型差异或变化。在Java中,泛型允许你在定义类、接口或方法的时候指定类型参数,这样可以创建一种通用的数据结构,适用于多种数据类型。
如果一个类型的实例能够替换另一个与其有相似特性的类型实例,那么就称这种性质为协变(Covariant)。例如,`List<String>` 可以看作是 `List<Object>` 的协变版本,因为你可以将字符串列表插入到包含任意对象的列表中。
相反,如果一个类型的父类型不能隐式地成为其子类型的一个实例,我们称之为逆变(Contravariant)。比如,在Java的集合框架中,`Comparator<? super T>` 是 `Comparator<T>` 的逆变形式,这意味着用于比较T类型的元素的比较器也适用于T的所有超类型。
阅读全文