Scala 深刻淺出實戰經典 第45講: scala中context bounds代碼實例

王家林親授《DT大數據夢工廠》大數據實戰視頻 Scala 深刻淺出實戰經典(1-64講)完整視頻、PPT、代碼下載:
百度雲盤:http://pan.baidu.com/s/1c0noOt6
騰訊微雲:http://url.cn/TnGbdC
360雲盤:http://yunpan.cn/cQ4c2UALDjSKy 訪問密碼 45e2
技術愛好者尤爲是大數據愛好者 能夠加DT大數據夢工廠的qq羣java

DT大數據夢工廠① :462923555
DT大數據夢工廠②:437123764
DT大數據夢工廠③ :418110145微信

微信公衆帳號: DT_Spark
王家林老師微信號: 18610086859
王家林老師QQ: 1740415547
王家林老師郵箱: 18610086859@126.comoop

本視頻由王家林老師, 親自講解, 徹底經過代碼實戰把您帶人大數據的時代.大數據

package com.parllay.scala.type_parameterizitor

/**
* Created by richard on 15-7-29.
* Scala 深刻淺出實戰經典 第45講: scala中context bounds代碼實例
*/

/**
* 上下文界定的形式爲 T : M, 其中M 必須爲泛型類, 必須存在一個M[T]的隱式值.
* 如下類必須存在一個隱式值 Ordering[T], 該隱式值能夠用在該類的方法當中,
* 當聲明一個使用隱式值的方法的時候, 須要添加一個"隱式參數"
* ord爲:隱式參數
* Ordering[T]爲:隱式值
* 隱式值比隱式轉換更靈活
* @param first
* @param second
* @tparam T
*/
class Pair_Context[T : Ordering](val first: T, val second: T){
def smaller(implicit ord: Ordering[T]) =
if(ord.compare(first, second) < 0) first else second
}

object Context_Bound {

def main(args: Array[String]) {

val pair = new Pair_Context("Spark", "Hadoop")
println(pair.smaller)

val int = new Pair_Context(3, 5)
println(int.smaller)

}

}
相關文章
相關標籤/搜索