Scala泛型类型约束

标签 scala generics type-constraints

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

有人可以总结一下不同的类型约束吗?例如,我在<:<之间的差异中挣扎。我很好奇是否还有其他我还没有讲的东西。

最佳答案

没有称为<的类型约束。
A <: B意味着A实际上是B的子类型(其中子类型是自反定义的,意味着对于T的任何类型,T <: T都是这种情况)。
A <% B表示AB的子类型,或者是从A隐式转换为AA的不同类型AA <: B的转换。这称为“ View 范围”。
A >: B表示AB的父类(super class)型。

关于Scala泛型类型约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15747618/

相关文章:

scala - Spark,在 DataFrame(或 RDD)上多次应用过滤器,无需冗余评估

java - 覆盖需要双数组的 java 方法

java - 使用泛型在列表中转换对象

haskell - 向数据声明添加类型约束

c++ - 如何使用 C++ 模板执行正式协议(protocol)?

swift - 如果 Swift 协议(protocol)是用类型约束定义的,为什么不能直接访问该类型的属性/方法?

scala - Scala 有没有办法在不使用 if 嵌套的情况下转义多个 return 语句

javascript - Scala 和 JavaScript 的 JSON.stringify

C 通用打印数组函数 - 打印字符串数组

java - guice 辅助注入(inject) + 多绑定(bind) + 泛型