Scala List 声明为
sealed abstract class List[+A] extends AbstractSeq[A] with LinearSeq[A] with Product with GenericTraversableTemplate[A, List] with LinearSeqOptimized[A, List[A]] with java.io.Serializable
将元素添加到 List 的方法声明为
def +:(elem: A): List[A]
由于类型 A 是协变的,为什么编译器没有抱怨,因为 A 出现在 +: 中的逆变位置?