Scala泛型类型约束

时间:2013-04-01 16:50:01

标签: scala generics type-constraints

我正在阅读Programming Scala。我刚刚完成了关于隐式类型转换的章节,其中引入了<%符号。还有一个<:符号和一个<符号。

有人可以总结一下不同的类型限制吗?我正在努力解决<:<之间的差异。我很好奇是否有其他我尚未涉及的其他人。

1 个答案:

答案 0 :(得分:17)

没有名为<的类型约束。

A <: B表示A字面上是B的子类型(其中子类型是自反定义的,对于任何类型T都是T <: T的情况)。

A <% B表示AB的子类型,或者是从A到不同类型AA的隐式转换{{1} }}。这称为“视图绑定”。

AA <: B表示A >: BA的超类型。