StackOverflow 文档 Scala Language 教程 键入方差 不变性 不变性 Created: November-22, 2018 默认情况下,所有类型参数都是不变的 - 给定 trait A[B],我们说“A 在 B 上是不变的”。这意味着给定两个参数化 A[Cat] 和 A[Animal],我们断言这两种类型之间没有子/超类关系 - 它不包含 A[Cat] <: A[Animal] 和 A[Cat] >: A[Animal],无论 Cat 和 Animal 之间的关系如何。 方差注释为我们提供了一种声明这种关系的方法,并对类型参数的使用施加了规则,以使关系保持有效。 集合的协方差逆变