王家林亲授《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

本视频由王家林老师, 亲自讲解, 完全通过代码实战把您带人大数据的时代.

package com.parllay.scala.type_parameterizitor

/**
* Created by richard on 15-7-28.
*/ //class Pair[T <: Comparable[T]] (val first: T, val second: T){
// def bigger = if(first.compareTo(second) > 0) first else second
//} class Pair_Int[T <% Comparable[T]] (val first: T, val second: T){
def bigger = if(first.compareTo(second) > 0) first else second
} class Pair_Better[T <% Ordered[T]](val first: T, val second: T){
def smaller = if(first < second) first else second
}
object View_Bound { def main(args: Array[String]) {
/**
* 以下代码运行没有任何问题, 因为Pair[String] 是Comparable[T]的子类型, 所以String有compareTo方法
*/
val pair = new Pair_Int("Spark", "Hadoop");
println(pair.bigger) /**
* 那么如果是下面这样的实例化,运行的时候是有问题的, 因为在Scala语言里 Int类型没有实现Comparable;
* 那么该如何解决这个问题那;
* 在scala里 RichInt实现了Comparable, 如果我们把int转换为RichInt类型就可以这样实例化了.
* 在scala里 <% 就起这个作用, 需要修改Pair里的 <: 为<% 把T类型隐身转换为Comparable[Int]
*
* 另外解决这个问题的方法是使用Ordered特质, 上一节String实现了Comparable但是没有实现Ordered, 但是有了view bound就很容易实现;
*
* String可以被转换为RichString. 而RichString是Ordered[String] 的子类.
*/
val pair_int = new Pair_Int(3 ,45)
println(pair_int.bigger) val pair_better = new Pair_Better(39 ,5)
println(pair_better.smaller) } }

  

最新文章

  1. Writing to a MySQL database from SSIS
  2. vmware centos nat模式下连不上网络解决办法
  3. 数据摘要算法的测试效率(SHA、MD5和CRC32)
  4. php处理数组函数大全
  5. css3选择器 以及当天知道的东西
  6. Unable to run mksdcard SDK tool.
  7. JQ 替换节点
  8. sql server 数据库 只有mdf文件,如何附加
  9. urllib模块 | Python 2.7.11
  10. White space is required before the encoding pseudo attribute in the XML declaration.
  11. jmeter系列-------注意事项
  12. How to Apply Patches to a WLS 8.1 Environment
  13. wx.createSelectorQuery() 获取节点信息 获取不到解决方法
  14. data1是字符串?需要加上引号
  15. vue + echarts画圈圈
  16. 简单实现VUE的双向数据绑定
  17. Python学习 —— 阶段综合练习三
  18. 二十三、css如何实现锯齿形---border-image
  19. pg 与 oracle 比较
  20. Machine Learning Basic Knowledge

热门文章

  1. BufferedOutputStream的学习
  2. 编译jsoncpp库以及要注意的问题
  3. STL源码--iterator和traits编程技法
  4. 关闭Ubuntu 12.04的内部错误提示
  5. django rest_framework--入门教程
  6. C#设计模式(16)——迭代器模式(Iterator Pattern)
  7. 作业七:团队项目——Alpha版本冲刺阶段-05
  8. Sale.js——快速创建促销样式
  9. C#课外实践——校园二手平台(技术篇1)
  10. 自制操作系统(二) 让bootsector开机启动打印一首诗