王家林親授《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_Sparkoop
本視頻由王家林老師, 親自講解, 徹底經過代碼實戰把您帶人大數據的時代.大數據
package com.parllay.scala.type_parameterizitor /** * Created by richard on 15-7-28. */ //class Pair[T <: Comparable[T]] (val first: T, val second: T){ // def bigger = if(first.compareTo(second) > 0) first else second //} class Pair_Int[T <% Comparable[T]] (val first: T, val second: T){ def bigger = if(first.compareTo(second) > 0) first else second } class Pair_Better[T <% Ordered[T]](val first: T, val second: T){ def smaller = if(first < second) first else second } object View_Bound { def main(args: Array[String]) { /** * 如下代碼運行沒有任何問題, 由於Pair[String] 是Comparable[T]的子類型, 因此String有compareTo方法 */ val pair = new Pair_Int("Spark", "Hadoop"); println(pair.bigger) /** * 那麼若是是下面這樣的實例化,運行的時候是有問題的, 由於在Scala語言裏 Int類型沒有實現Comparable; * 那麼該如何解決這個問題那; * 在scala裏 RichInt實現了Comparable, 若是咱們把int轉換爲RichInt類型就能夠這樣實例化了. * 在scala裏 <% 就起這個做用, 須要修改Pair裏的 <: 爲<% 把T類型隱身轉換爲Comparable[Int] * * 另外解決這個問題的方法是使用Ordered特質, 上一節String實現了Comparable可是沒有實現Ordered, 可是有了view bound就很容易實現; * * String能夠被轉換爲RichString. 而RichString是Ordered[String] 的子類. */ val pair_int = new Pair_Int(3 ,45) println(pair_int.bigger) val pair_better = new Pair_Better(39 ,5) println(pair_better.smaller) } }