指定下限约束还允许您使用下限定义的成员?

时间:2014-04-27 09:39:38

标签: scala types type-bounds

我正在阅读这本书" Scala in depth",并找到了一些我无法理解的观点。

首先,让我们看一下关于"下界"的例子。和"上限"从书中可以看出:

type B <: Traversable[Int]  // Upper bound definition
type B >: List[Int] // Define lower bound restriction

我能理解他们。

但是我在第135页看到了这句话:

  

指定下限约束还允许您使用在下限上定义的成员。上限约束并不意味着成员可能在某个类型上,但在组合多个参数化类型时非常有用。

我认为这是错的吗?它应该是:

  

指定上限绑定约束还允许您使用边界上定义的成员。 较低绑定约束并不意味着成员可能属于某个类型,但在组合多个参数化类型时非常有用。

不应该吗?

在我看来,

class Hello[T] {
   def test1[U >: T](x: U): U = x
   def test2[U <: T](x: U): T = x   
}

test1lower boundtest2upper bound,对吧?

0 个答案:

没有答案