独角兽企业重金招聘Python工程师标准>>>
class Pair[T <: Comparable[T]](val first:T,val second:T) //类型T必须要是Comparable接口的子类(即T是Comparable的下界){def bigger = if(pareTo(second) > 0) first else second}class Pair_Lower_Bound[T](val first:T,val second:T){def replaceFirst[R >: T](newFirst:R) = new Pair_Lower_Bound(newFirst,second) //类型R是T类型的父类(也即R是T的上界)}object Type_Variables_BoundsTest {def main(args: Array[String]): Unit = {val pair = new Pair("aspark","hadoop")println(pair.bigger) //会打印hadoop}}
另外,如果某个类或函数写成如下形式:
def onefun[K,V,F <:Comparable[T]](........) = {......}
则表明onefun函数中有三个类型参数,并且每个参型参数的上界是Comparable[T]