【发布时间】:2012-05-12 04:31:06
【问题描述】:
我正在阅读此页面http://www.scala-lang.org/node/137,我了解协方差和下限是什么,但不清楚的是这一行:
不幸的是,这个程序没有编译,因为协方差 仅当类型变量仅用于 协变位置。由于类型变量 T 作为参数类型出现 方法前置,这条规则被打破了。
为什么elem 必须是T 的超类型的一个实例,如果ListNode 已经是协变的,为什么elem 不能被添加到当前列表中。
【问题讨论】:
-
解释很简单。类型变量 T 显示为参数类型。这不是协变位置。这里到底有什么问题?
标签: scala covariance lower-bound