scala进阶20-隐式转换至Ordered与Ordering
2016-08-18 23:13
225 查看
//Ordering是Ordering[T]隐式值 class Pair_Implicits[T: Ordering](val first: T, val second: T) { def bigger(implicit ordered: Ordering[T]) = { if (ordered.compare(first, second) > 0) first else second } } //也可以通过implicitly来实现 class Pair_Implicity[T: Ordering](val first: T, val second: T) { def bigger = if (implicitly[Ordering[T]].compare(first, second) > 0) first else second } class Pair_Implicitly_Odereded[T: Ordering](val first: T, val second: T) { def bigger = { import Ordered._//隐式将Ordering转换为Ordered if (first > second) first else second } } object Context_Bounds_Internals { def main(args: Array[String]): Unit = { println(new Pair_Implicits(7, 9).bigger) println(new Pair_Implicity(7, 9).bigger) println(new Pair_Implicitly_Odereded(7, 9).bigger) } }
相关文章推荐
- Scala进阶源码实战之八——隐式转换和隐式参数
- Scala深入浅出进阶经典 第61讲:Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析
- scala进阶18-隐式转换-隐式参数
- scala进阶19-隐式参数+隐式转换
- Scala深入浅出进阶经典 第65讲:Scala中隐式转换内幕操作规则揭秘、最佳实践及其在Spark中的应用源码解析
- scala进阶19-隐式转换内幕
- Scala进阶之隐式转换作用域等问题
- Scala深入浅出进阶经典 第59讲:Scala中隐式转换初体验实战详解以及隐式转换在Spark中的应用源码解析
- Scala入门到精通——第十九节 隐式转换与隐式参数(二)
- 深入理解Scala的隐式转换系统
- 快学scala 第21章练习题 隐式转换
- Scala中的Implicit(隐式转换,隐式参数,隐式类)
- scala总结(4) -- 隐式转换以及隐式参数
- scala隐式转换
- Scala的Tuple拉链操作、Java Map与Scala Map的隐式转换
- Scala隐式转换之隐式转换函数
- Scala之隐式转换
- scala中的隐式转换详解
- Scala高阶函数与隐式转换
- Scala比较器:Ordered与Ordering