1> 泛型类
1. 定义形式
class Pair[T,S](val first : T, val second : S)
T,S是类型的参数
2. Scala会从构造参数推断出实际类型
Val p = new Pair(42,”String”) //Pair[Int,String]
你也可以自己指定类型
Val p2 = new PairAny,Any
2> 泛型函数
1. 在函数名的后面需要把类型的参数加上
def getMiddle[T](a : Array[T]) = a(a.length / 2)
例如:
getMiddle(Array(“Mary”,”had”,”a”,”little”,”lamb”)) //将会调用getMiddle[String]
3>类型变量界定
1.如下代码就可以将声明两个组件类型相同
Class Pair[T](val first : T, val second : T)
2. 这是一个比较大小的代码
<: 设置了上界的类型,表面T必然是Comparable的子类,而要比较不同T类型的值的大小,就需要调用Comparable下面的 compareTo()方法,最后打印的结果是:Spark,因为是根据字典的排序顺序的。
- 如果我们想比较数字的话,就不可以用上面的方法了,因为类型不匹 配