Scala深入浅出进阶经典 第65讲:Scala中隐式转换内幕操作规则揭秘、最佳实践及其在Spark中的应用源码解析
2015-09-25 23:38
841 查看
package com.dt.scalaInAction.demo_065 import java.io.File import scala.io.Source /** * Scala中隐式转换内幕操作规则揭秘、最佳实践及其在Spark中的应用源码解析 */ class RichFile(val file: File) { def read = Source.fromFile(file.getPath).mkString } class File_Impkicits(path: String) extends File(path) object File_Impkicits { implicit def file2RichFile(file: File) = new RichFile(file) //file-->RichFile } object Implicits_Internals { def main(args: Array[String]): Unit = { /* * 这里没有导入隐式对象 * * 通过给File_Impkicits类 构建一个伴生对象 在伴生对象内部顶一个隐式转换的方法 * * 执行顺序: * 1.搜索File_Impkicits有无read方法 * 2.在上下文上搜索(有无导入的隐式对象) * 3.搜索File_Impkicits的伴生对象内有无隐式转换 发现implicit关键 尝试匹配类型 * 例如这里匹配file2RichFile(file: File) 返回类型为RichFile 在RichFile中发现read方法 */ println(new File_Impkicits("E:\\projectTest\\1.txt").read) } }以上内容是从王家林老师DT大数据课程第65讲的学习笔记和个人整理。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
第65讲视频网站地址:http://pan.baidu.com/s/1hqyCbGg
相关文章推荐
- 360,京东,在线编程题
- Scala深入浅出进阶经典 第64讲:Scala中隐式对象代码实战详解
- the heapsort algorithm
- Struts2标签之set
- 360,京东,在线编程题
- Android应用开发系列(一):splash引导界面开发
- Unity3d 开发(四)代码创建预设
- VS2010编写动态链接库DLL及单元测试用例,调用DLL测试正确性
- nodejs 上传文件
- linux 如何显示一个文件的某几行(中间几行)
- 位运算
- nfs服务器与客户端配置
- nodejs 教程
- java面试题十六 StringBuffer
- UVALive 3351 Easy and Not Easy Sudoku Puzzles 位运算~判断简单数独
- hdu 2896(ac自动机)
- HA架构之heartbeat安装配置详解
- vector
- Scala深入浅出进阶经典 第63讲:Scala中隐式类代码实战详解
- cocos2d-x_3.8开发学习之打开so文件到apk