当前位置: 首页 > news >正文

adobe 网站制作软件有哪些/中国站长站

adobe 网站制作软件有哪些,中国站长站,wordpress 免费中文模板下载地址,中山网站代运营说到隐式转换,不得不说关键字implicit。 》implicit implicit的三个作用: - 隐式参数【类似于缺省参数,区别是隐式参数的值可以在方法调用的前的上下文中指定】 - 隐式转换类型 - 隐式调用函数 隐式转换类型 下面是一个普通的函数&…

说到隐式转换,不得不说关键字implicit。

》implicit

implicit的三个作用:
- 隐式参数【类似于缺省参数,区别是隐式参数的值可以在方法调用的前的上下文中指定】
- 隐式转换类型
- 隐式调用函数

隐式转换类型

下面是一个普通的函数,当输入参数为Int时,则会报错。

def printString(str) = println(str)

现在对str的内容进行扩展,也就是希望Int,Double等等类型都能够通过这个函数进行打印。
此时需要用到implicit,则可以满足我们的需求了。

implicit def intToString(input:Int) = input.toString
implicit def booleanToString(input:Boolean) = if(input) "true" else "false"

再举一个例子:
简单说明:
从图片中可以看到,类Man和类SuperMan没有任何继承关系。此时假如想用Man类想拥有SuperMan类的“超能力”,则需要通过隐形转换,将Man类视作SuperMan类。
方法一 :
这里写图片描述

方法二 :
方法二更加接近实际生产使用

隐式调用函数

=====

隐式转换的应用

  1. 将当前的类型转换成预期类型,实际使用得并不多。
  2. 类型增强与扩展【重点!使用场景很多】

案例一:ArrayOps对Array的类型增强

一个典型案例是:Scala对Array对象进行的隐式转换。我们知道,Scala通过Predef声明了针对Array类型的两个隐式转换:一个是到ArrayOps的隐式转化,另一个是到WrappedArray的隐式转换。以前者为例,它为Array对象“添加”了大量的操作,这是通过隐式转换来”通明“的对一个类进行增强的典型案例!

案例二:Spark中PairRDDFunctions对RDD的类型增强

如果你看一下Spark中的RDD以及它的子类是没有groupByKey, reduceByKey以及join这一类基于key-value元组的操作的,但是在你使用RDD时,这些操作是实实在在存在的,Spark正是通过隐式转换将一个RDD转换成了PairRDDFunctions, 这个动作是这样发生的:

首先在RDD的伴随对象中声明了从RDD到PairRDDFunctions的隐式转换:

  // The following implicit functions were in SparkContext before 1.3 and users had to// `import SparkContext._` to enable them. Now we move them here to make the compiler find// them automatically. However, we still keep the old functions in SparkContext for backward// compatibility and forward to the following functions directly.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)}

然后在SparkContext中import了RDD的所有东西,使隐式转换生效。

转载于:
http://blog.csdn.net/bluishglc/article/details/50866314

http://www.jmfq.cn/news/5141035.html

相关文章:

  • 沈阳网站建设公司怎么样/百度官方推广
  • 建设部网站白蚁文件/百度搜索关键词热度
  • 外贸企业网站制作/seo兼职怎么收费
  • 业务员自己掏钱做网站可以吗/商铺营销推广方案
  • 网站建设与网络营销/武汉关键词排名提升
  • 自贡做响应式网站开发公司/做网站设计哪里有
  • 做跨国婚恋网站赚钱吗/央视新闻最新消息今天
  • 网站域名哪看/郑州seo外包收费标准
  • 免费做三级网站/想开广告公司怎么起步
  • 永久免费手机网站建设/网络技术培训
  • 室内设计培训内容/seo技术介绍
  • 电商网站建设 网站定制开发/推广图片制作
  • 常德网站优化咨询电话/论坛平台
  • 做电影海报在哪个网站好/网络运营推广合作
  • 动漫设计与制作视频/网络优化的基本方法
  • 品牌建设费用包括哪些/巢湖seo推广
  • 如何做积分商城网站/免费网站安全检测
  • 自己做彩票网站简单吗/互联网营销渠道有哪些
  • 微信上怎么做网站链接/网页设计素材
  • 公司部门设置及职责划分/最专业的seo公司
  • 自己做的网站怎么改背景图/百度的首页
  • 福田哪家建设网站好/免费网站seo优化
  • 小说网站排行榜前十名/销售怎么做
  • 深圳营销型网站建设服务/网页模板免费下载网站
  • 专业网站建设公司首选/今日搜索排行榜
  • 金华安全网站建设怎么收费/网络广告营销的特点
  • wordpress数据名/seo实战指导
  • 网站模板 wordpress/找网站设计公司
  • 破解wordpress邀请码/seo优化外包顾问
  • 备案期间怎么做网站/百度链接提交工具