2
Scala的列表被聲明爲爲什麼階列表可能需要協變型如在方法paramenter + =
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
的方法,預先考慮到一個列表中的元素被聲明爲
def +:(elem: A): List[A]
作爲A型是協變的,爲什麼編譯器不會抱怨,因爲A出現在+:中的逆變位置上。
你能否重申你的問題,我不知道你在問什麼 –
我想知道爲什麼類List的方法+:的簽名沒有違反協變的使用規則。 – Chen