Scala类型约束代码实战及其在Spark中的应用源码解析之Scala学习笔记-39

package com.leegh.parameterization

/**
* @author Guohui Li
*/
object Type_Contraints {
def main(args: Array[String]): Unit = {
def rocky[T](i: T)(implicit ev: T <:< java.io.Serializable) {
println("Life is too short,you need Spark!")
}
rocky("Spark")
}
}

附:

本博客说明:

1.整理思路,提高自己。

2.受教于王家林老师,?有所收获,故推荐。

3.博客注重实践,多余的文字就不多说了,都是做技术的。

4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。?

DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。

王家林DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group

王家林《Scala深入浅出实战初级入门经典视频课程》http://edu.51cto.com/lesson/id-66538.html

王家林《Scala深入浅出实战中级进阶经典视频课程》http://edu.51cto.com/lesson/id-67139.html

时间: 2024-11-02 02:40:19

Scala类型约束代码实战及其在Spark中的应用源码解析之Scala学习笔记-39的相关文章

Scala 深入浅出实战经典 第48讲: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大数据梦工厂③

Scala中Context Bounds代码实战及其在Spark中的应用源码解析之Scala学习笔记-36

package com.leegh.parameterization /** * @author Guohui Li */ class Pair_Ordering[T: Ordering](val first: T, val second: T) { def bigger(implicit ordered: Ordering[T]) = { if (ordered.compare(first, second) > 0) first else second }} object Context_Bo

Scala中类型变量Bounds代码实战及其在Spark中的应用源码解析之Scala学习笔记-34

package com.leegh.parameterization /** * @author Guohui Li */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: T) { def

Scala中View Bounds代码实战及其在Spark中的应用源码解析之Scala学习笔记-35

package com.leegh.parameterization /** * @author Guohui Li */class Pair_NotPerfect[T <% Comparable[T]](val first: T, val second: T) { def bigger = if (first.compareTo(second) > 0) first else second} //class Pair_NotPerfect[T <: Comparable[T]](val

Scala中Variance代码实战及其在Spark中的应用源码解析之Scala学习笔记-40

package com.leegh.parameterization /** * @author Guohui Li */ class Personclass Student extends Personclass C[+T](val args: T) trait Friend[-T] { def makeFriend(somebody: T)}object Variance { def makeFriendWithYou(s: Student, f: Friend[Student]) { f.

ClassTag 、Manifest、ClassManifest、TypeTag代码实战及其在Spark中的应用源码解析之Scala学习笔记-37

package com.leegh.parameterization import scala.reflect.ClassTag /** * @author Guohui Li */class A[T] object Manifest_ClassTag { def main(args: Array[String]): Unit = { def arrayMake[T: Manifest](first: T, second: T) = { val r = new Array[T](2); r(0)

第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资源

第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析

今天学习了view bounds的内容,来看下面的代码. //class Pair[T <: Comparable[T]](val first : T,val second : T){//  def bigger = if(first.compareTo(second) > 0) first else second//} class Pair_NotPerfect[T <% Comparable[T]](val first : T,val second : T){  def bigger

第45讲:Scala中Context Bounds代码实战及其在Spark中的应用源码解析

今天学业习了上下文界定的内容,看下这段代码 class Pair_Ordering[T:Ordering](val first : T,val second : T){  def bigger(implicit ordered:Ordering[T]) = {    if(ordered.compare(first, second) > 0) first else second  }} object Context_Bounds {    def main(args:Array[String])