您的位置:首页 > 编程语言

scala学习之:scala多重界定代码实战及其在Spark中的应用

2015-08-23 18:07 302 查看
一个参数的泛型类型可以同时拥有多重的界定。
例: T >: A <: B 泛型T的上界为B,下界为A,A必须为B的子类型
下界必须写在前面。
泛型类型不可以同时拥有多个上界,但可以这样表示:
例: T <: A with B 泛型T是A或者B的子类。
T >:A with B A 或者 B 为T的子类
泛型类型可以有多个视图界定。
例: T <% A <% B T同时满足A的隐式转换与B的隐式转换
上下文界定
例: T : A : B 也是同时满足
代码示例:
class M_A[T]

class M_B[T]

object Multi_Bounds{

def main(args: Array[String]): Unit = {

implicit val a = new M_A[Int]

implicit val b = new M_B[Int]

def foo[T : M_A : M_B](i : T) = println("OK")

foo(2)

}

}
多重界定在Spark使用不是很多。

以上内容是从王家林老师DT大数据课程第47讲的学习笔记。

DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859

百度云盘地址:http://pan.baidu.com/s/1qWj1IHY

优酷播放地址:http://v.youku.com/v_show/id_XMTI4MDUyMDc2NA==.html

51cto的播放地址:http://edu.51cto.com/lesson/id-67734.html

以上内容是从王家林老师DT大数据课程第43、44讲的学习笔记。

DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859

百度云盘地址:http://pan.baidu.com/s/1eQjga2I

优酷播放地址:http://v.youku.com/v_show/id_XMTI3ODgwNTQ0OA==.html
51cto的播放地址:http://edu.51cto.com/lesson/id-67577.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: