假设我定义了一个类型构造函数Box
:
trait Box[+T]
什么是正确的?
T
是协变的T
中的Box
是协变的答案 0 :(得分:5)
关于书籍Functional Programming in Scala的差异:
在声明
trait List[+A]
中,+
位于...前面 类型参数A
是方差注释,表示 A 是List
的协变或“正”参数。这意味着 例如,List[Dog]
被认为是其子类型List[Animal]
,假设Dog
是Animal
的子类型。
答案 1 :(得分:1)
正确的是:
“类型Box在T”中是协变的