Scala高级特性中的类型参数总结(1)
Scala中的类型系统是具有边界特性的,也就是bounds,其中就有上边界(upper bounds)、下边界(Lower bounds)等等,我们先来看看上边界和下边界:
上边界
- 它表明我们要使用一个对象或者一个类必须是某个类型的或者是某个类型的子类型的,其用
<:
表示,也就是说左侧的内容必须是右侧的指定类型的,例如spark中的源码: - 这里的compressionCodec实际上是一个Interface
下边界
它表明我们要使用一个对象或者一个类必须是某个类型的或者是某个类型的父类型的或者是接口的,其用
>:
表示,也就是说左侧的内容必须是右侧的指定类型的,例如:class Compare[T](val n1 : T,val n2 : T){
def run[F >: T](a : F) = new Compare(a,n2)
}
今天就到这吧,明天继续!