scala类型绑定符号方向有区别吗?

时间:2015-08-07 14:52:15

标签: scala covariance contravariance generic-variance

scala类型绑定表示方向是否有区别,因为[B <: A][A >: B]相同?

2 个答案:

答案 0 :(得分:2)

B <: A表示B的{​​em>上限 A。这意味着B可以是类型层次结构中从NothingA的任何类型。

A >: B表示A下限 B,这意味着A可以是来自B的任何内容}到类型层次结构中的Any

一般来说,它们并不代表同一件事。每个都对不同的类型参数强加一个绑定。这也不是方差表示法,它们是类型边界。

答案 1 :(得分:0)

此处[B <: A]您声明了B类型A, 这里[A >: B]您声明类型为A的父类型B