Scala中隐式转换内幕操作规则揭秘

Scala中隐式转换内幕操作规则揭秘、最佳实践及其在Spark中的应用,具体来说就是通过类的伴生对象实现隐式转换,而不用 Import操作,在spark的RDD对象中用得很多

例子:在spark中,RDD就是通过RDD类的伴生对象实现隐式转换

object RDD {

implicit def rddToPairRDDFunctions[K, V](rdd: RDD[(K, V)])

(implicit kt: ClassTag[K], vt: ClassTag[V], ord: Ordering[K] = null): PairRDDFunctions[K, V] = {

new PairRDDFunctions(rdd)

}

..............................

详见

王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第65讲:Scala中隐式转换内幕操作规则揭秘、最佳实践及其在Spark中的应用源码解析
百度云:http://pan.baidu.com/s/1hqyCbGg
腾讯微云:http://url.cn/fbnMPM
360云盘:http://yunpan.cn/ccWnW3HQAb52S  访问密码 ba25

时间: 2024-12-28 17:53:17

Scala中隐式转换内幕操作规则揭秘的相关文章

Scala中隐式转换内幕操作规则揭秘、最佳实践及其在Spark中的应用源码解析之Scala学习笔记-55

package com.leegh.implicits import scala.io.Sourceimport java.io.File /** * @author Guohui Li */class RicherFile(val file: File) { def read = Source.fromFile(file.getPath).mkString} class File_Implicits(path: String) extends File(path)//伴生对象object Fi

Scala 深入浅出实战经典 第65讲:Scala中隐式转换内幕揭秘、最佳实践及其在Spark中的应用源码解析

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/NGgUD5FBQaA/优酷:http://v.youku.com/v_show/id_

第59讲:Scala中隐式转换初体验

今天学习了下隐式转换的内容.所谓隐式转换,就是说,一个实例拥用1 2 3方法,但是当它需要4方法的时候,它没有,但是却可以通过转换成另一种类型来调用4方法,而且这种转换是自动转换不需要人为干预的,这种形为就叫做隐式转换.让我们通过实例来分析一下: import java.io.Fileimport scala.io.Source class RichFile(val file:File){  def read = Source.fromFile(file.getPath).mkString} o

scala中隐式转换之隐式转换调用类中本不存在的方法

/** * Created by root * Description : 隐式转换调用类中本不存在的方法 */ class Person(name : String){ def getPersonName = println("name = " + name) } object Type2Type{ implicit def type2(a : ImplicitTest2) = new Person("xiaoming") } class ImplicitTest

scala中隐式转换之隐式类

/** * Created by root * Description :隐式类: * 1.其所带的构造参数有且只能有一个:并且构造器的参数是转换之前的对象 * 2.隐式类必须被定义在类,伴生对象和包对象里 * 3.隐式类不能是case class(case class在定义会自动生成伴生对象与2矛盾) * 4.作用域内不能有与之相同名称的标示符 */ class ImplicitTest3 { def getName = "ImplicitTest3" } object Implic

scala中隐式转换之隐式值和隐式视图

/** * Created by root * Description : 隐式值和隐式视图 */ object ImplicitTest { def main(args: Array[String]): Unit = { // 隐式值 implicit val str = "hello" def fun(implicit s: String) = println(s) fun // 调用fun函数,编译器发现参数缺省,直接去作用域内查找隐式值,保证隐式值只有一个 // 隐式视图:隐式

Scala中隐式转换初体验实战详解以及隐式转换在Spark中的应用源码解析之Scala学习笔记-49

package com.leegh.implicits import scala.io.Sourceimport java.io.File /** * @author Guohui Li */ class RichFile(val file: File) { def read = Source.fromFile(file.getPath()).mkString}object Context { implicit def file2RichFile(file: File) = new RichFi

Scala 深入浅出实战经典 第60讲:Scala中隐式参数实战详解以及在Spark中的应用源码解析

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/IVN4EuFlmKk/优酷:http://v.youku.com/v_show/id_

Scala隐式转换

概述 简单说,隐式转换就是:当Scala编译器进行类型匹配时,如果找不到合适的候选,那么隐式转化提供了另外一种途径来告诉编译器如何将当前的类型转换成预期类型.本文原文出处: http://blog.csdn.net/bluishglc/article/details/50866314 严禁任何形式的转载,否则将委托CSDN官方维护权益! 隐式转换有四种常见的使用场景: 将某一类型转换成预期类型 类型增强与扩展 模拟新的语法 类型类 语法 隐式转换有新旧两种定义方法,旧的定义方法指是的"impli