大数据系列修炼-Scala课程62
核心内容:
1、Scala中上下文界定内幕中的隐式参数与隐式转换的操作代码实战
1、Scala中上下文界定内幕中的隐式参数与隐式转换的操作代码实战 |
1>T:Ordering的含义:在上下文界定中说明只要存在T:Ordering,那么就存在一个隐式值,这个隐式值就是Ordering[T],这个隐式值
Ordering[T]会作用在当前的作用域中,在作用域中的所有方法都可以使用这个隐式值,尤其是对应的隐式函数。
2>通过上下文界定:可以为程序的上下文环境提供一个默认的隐式值,class A[T:Ordering] 为整个上下文环境提供了一个默认的隐式值 Ordering[T]
3>class A[T:Ordering](val first:T,val second:T):因为first与second都是Ordering[T]类型的,所以可以使用Ordering[T]中的数学逻辑操作符
4>Predef类中的implicitly方法可以获取实际运行时具体的数值:def implicitly[T](implicit e: T) = e
5>Ordered伴生对象中含有很多内容:其中一个就是将Ordering类型转化为Oredered类型。
implicit def orderingToOrdere