我正在阅读Programming Scala。我刚刚完成了关于隐式类型转换的章节,其中引入了<%
符号。还有一个<:
符号和一个<
符号。
有人可以总结一下不同的类型限制吗?我正在努力解决<:
和<
之间的差异。我很好奇是否有其他我尚未涉及的其他人。
答案 0 :(得分:17)
没有名为<
的类型约束。
A <: B
表示A
字面上是B
的子类型(其中子类型是自反定义的,对于任何类型T
都是T <: T
的情况)。
A <% B
表示A
是B
的子类型,或者是从A
到不同类型AA
的隐式转换{{1} }}。这称为“视图绑定”。
AA <: B
表示A >: B
是A
的超类型。