我正在读Programming Scala。我刚读完有关隐式类型转换的章节,其中介绍了<%
符号。还有一个<:
符号和一个<
符号。
有人可以总结一下不同的类型约束吗?例如,我在<:
和<
之间的差异中挣扎。我很好奇是否还有其他我还没有讲的东西。
最佳答案
没有称为<
的类型约束。A <: B
意味着A
实际上是B
的子类型(其中子类型是自反定义的,意味着对于T
的任何类型,T <: T
都是这种情况)。A <% B
表示A
是B
的子类型,或者是从A
隐式转换为AA
的不同类型AA <: B
的转换。这称为“ View 范围”。A >: B
表示A
是B
的父类(super class)型。
关于Scala泛型类型约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15747618/