标签:
王家林亲授《DT大数据梦工厂》大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2
技术爱好者尤其是大数据爱好者 可以加DT大数据梦工厂的qq群
DT大数据梦工厂① :462923555
DT大数据梦工厂②:437123764
DT大数据梦工厂③ :418110145
微信公众账号: DT_Spark
王家林老师微信号: 18610086859
王家林老师QQ: 1740415547
王家林老师邮箱: 18610086859@126.com
本视频由王家林老师, 亲自讲解, 完全通过代码实战把您带人大数据的时代.
package com.parllay.scala.type_parameterizitor /** * Created by richard on 15-7-31. * 第47讲:Scala多重界定代码实战及其在Spark中的应用 */ class M_A[Int] class M_B[Int] object Mutiple_Bound { def main(args: Array[String]) { /** * 多重上下文界定. 如果以下两行代码注释掉,那么不能正常运行. * 因为不存在M_A[T] 这样的隐式值. * * 不能同时有多个上界或者多个下界,可以同时有上届和下界; * 必须为 Lower是T的下界, Upper是T的上界, 而且Lower必须是Upper的子类型 * T >: Lower <: Upper * * 一个类型可以同时实现多个特质 * T <: Comparable[T] with Serializable with Clonable * * 可以有多个视图界定, T必须同时满足能够隐式转换为Comparable[T] 和String 的要求 * T <% Comparable[T] <% String * * 可以有多个上下文界定, T必须同时满足有Ordering[T], Manifest[T]隐式值. * T : Ordering : Manifest * * @param i * @tparam T */ //implicit val a = new M_A[Int] //implicit val b = new M_B[Int] def foo[T: M_A : M_B](i : T) = println(i) println(foo(2)) } }
Scala 深入浅出实战经典 第47讲:Scala多重界定代码实战及其在Spark中的应用
标签:
原文地址:http://www.cnblogs.com/czh-liyu/p/4699762.html