Scala视图界定

 1 package big.data.analyse.dataSet
 2 
 3 /**
 4   * 视图界定
 5   * Created by zhen on 2018/11/29.
 6   */
 7 /*class Pair_NotPerfect[T <: Comparable[T]](val first:T, val second:T){ //泛型
 8   def bigger = if(first.compareTo(second) > 0)first else second
 9 }*/
10 class Pair_NotPerfect[T <% Comparable[T]](val first:T, val second:T){ //视图界定,支持隐式转换
11   def bigger = if(first.compareTo(second) > 0) first else second
12 }
13 
14 class Pair_Better[T <% Ordered[T]](val first:T, val second:T){ //视图界定,支持隐式转换,支持操作符
15   def bigger = if(first > second) first else second
16 }
17 
18 object Bound {
19   def main(args: Array[String]) {
20     val pair = new Pair_NotPerfect("Spark", "Hadoop")
21     println(pair.bigger)
22 
23     val pairInt = new Pair_NotPerfect(3, 5)
24     println(pairInt.bigger)
25 
26     val pair_Better = new Pair_Better("Solr", "Python")
27     println(pair_Better.bigger)
28   }
29 }

结果:

 

posted @ 2018-11-29 20:44  云山之巅  阅读(462)  评论(0编辑  收藏  举报