您的位置:首页 > 其它

scala进阶2-类型变量界定Bounds

2016-08-08 23:38 162 查看
/**
* 类型变量界定Bounds(上界、下界)
* "<:"上界类型限定符,意思是限定T是Comparable[T]的子类
* Comarable表示可对比的,否则first是没有compareTo方法的
* @param first
* @param second
* @tparam T
*/
//class Pair[T](val first: T, val second: T)
class Pair[T <: Comparable[T]](val first: T, val second: T) {
def bigger = if(first.compareTo(second) > 0) first else second
}

/**
* ">:" T是R的下界
* @param first
* @param second
* @tparam T
*/
class Pair_Lower_Buond[T](val first: T, val second: T) {
def replaceFirst[R >: T](newFirst: R) = new Pair_Lower_Buond[R](newFirst, second)
}

object Typy_Variables_Bounds {
def main(args: Array[String]): Unit = {
val pair = new Pair("Spark", "Hadoop")
println(pair.bigger)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐