scala多重界定

Scala 多重界定分为以下几种:

1.    T  <: A with   B    T是A或B的子类

2.    T  >: A with   B      A或B是T的子类   一般不用

3.    T  >:  A  <:    B       同时有上界和下界   A下是界,B是上界  ,A是B的子类

4.    T:A : B                上下文界定   T必须同时满足存在AT和BT的隐试转换值

5.  T <%  A <%    B      视图界定   T既可以转换成B也可以转换成A

类型不可以有多个上界或下界,如果想有多个上界或下界,这样语法是 不正确的。

spark中常用的就是  "<:"

王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第47讲:Scala多重界定代码实战及其在Spark中的应用源码解析
百度云:http://pan.baidu.com/s/1qWj1IHY
360云盘:http://yunpan.cn/ccAUv9A2b7CdW  访问密码 7804
腾讯微云:http://url.cn/YPs7ES

时间: 2024-10-14 05:35:07

scala多重界定的相关文章

Scala 深入浅出实战经典 第47讲:Scala多重界定代码实战及其在Spark中的应用

王家林亲授<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大数据梦工厂③

第47讲:Scala多重界定代码实战及其在Spark中的应用源码解析

今天学习了scala的多重界定 T >: A <: B 表示T同时有下界和下界,下界为A,上界为B,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 T必须同时满足存在A[T]这种类型的隐式值和B[T]类型的隐式值. 分享下更多的scala资源

Scala 上下文界定

上下文界定的类型参数形式为T:M的形式,其中M是一个泛型,这种形式要求存在一个M[T]类型的隐式值: /** * 上下文界定 */ @Test def testOrdering_Class_Context() = { class User(val userName: String, val age: Int) class UserOrderingObject extends Ordering[User] { override def compare(x: User, y: User): Int

Scala 类型界定

class User(val userName: String,val age: Int) extends Comparable[User] { override def compareTo(o: User): Int = this.age - o.age } object OrderingDemo extends App { /** * 类型界定,上界 * * @param u1 * @param u2 * @tparam T T必须是Comparable[T]的子类 * @return */

Scala入门到精通——第二十节 类型參数(二)

本节主要内容 Ordering与Ordered特质 上下文界定(Context Bound) 多重界定 类型约束 1. Ordering与Ordered特质 在介绍上下文界定之前,我们对scala中的Ordering与Ordered之间的关联与差别进行解说,先看Ordering.Ordered的类继承层次体系: 通过上面两个图能够看到,Ordering混入了java中的Comparator接口.而Ordered混入了java的Comparable接口.我们知道java中的Comparator是一

Scala入门到精通——第二十节 类型参数(二)

本节主要内容 Ordering与Ordered特质 上下文界定(Context Bound) 多重界定 类型约束 1. Ordering与Ordered特质 在介绍上下文界定之前,我们对scala中的Ordering与Ordered之间的关联与区别进行讲解,先看Ordering.Ordered的类继承层次体系: 通过上面两个图可以看到,Ordering混入了java中的Comparator接口,而Ordered混入了java的Comparable接口,我们知道java中的Comparator是一

新书:Scala语言基础与开发实战

大数据科学丛书系列的最新一本<Scala语言基础与开发实战>即将面市,预计月底上架.内容还是不错的,文笔简介,内容实用,值得学.用. 大数据资深培训师王家林新作. 详细介绍大数据开发语言Scala及其在分布式框架Akka和Kafka中的应用. 秉承"实战"类图书特点,解析大量代码的编写操作,具有较强的可操作性,便于读者学习和理解. 算上再过几个月出版的<Spark内核解析及性能调优>,一年时间,大数据科学丛书系列之Spark的小套系基本形成了:从学习Spark的

从零学scala(九)类型参数、高级类型

一:类型参数 泛型类 //泛型类,基本和java是一致的          class Pair[T,S](val first:T,val second:S) val pair1 = new Pair("42",42)          val pair2 = new Pair[Any,Any](42,"42") 泛型函数 //返回数组中间的值          def getMiddle[T](a:Array[T]) = a(a.length/2) def mai

第43讲:Scala中类型变量Bounds代码实战及其在Spark中的应用源码解析

今天学习了scala的界定,先来看看下面这段代码 //class Pair[T] (val first : T,val second : T)class Pair[T <: Comparable[T]](val first : T,val second : T){  def bigger = if(first.compareTo(second) > 0) first else second} class Pair_Lower_Bound[T](val first : T,val second: