zoukankan      html  css  js  c++  java
  • 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大数据梦工厂③ :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))
    
    }
    
    }
    

      

  • 相关阅读:
    Golang Struct 声明和使用
    docker 中ulimit设置理解
    微服务架构引入的问题及解决方案
    Jenkins 集成Sonar代码质量扫描
    Jenkins和gitlab集成自动构建
    初识微服务架构
    jenkins 集成钉钉机器人通知
    Go 新起点
    shell中的(),{}几种语法用法
    二进制日志配置和运维管理
  • 原文地址:https://www.cnblogs.com/czh-liyu/p/4699762.html
Copyright © 2011-2022 走看看