《大数据: Scala 隐式转换》

一、 Scala 隐式转换

1.  隐式函数

隐式转换函数是以implicit关键字声明的带有单个参数的函数。这种函数将会自动应用,将值从一种类型转换为另一种类型
隐式函数快速入门

使用隐式函数可以优雅的解决数据类型转换,以前面的案例入门.

implicit def f1(d: Double): Int = {  d.toInt}
//Double 是输入类型, Int 是转换后的类型


隐式函数的底层工作原理

def main(args: Array[String]): Unit = {
      implicit def f1(d: Double): Int = {
        d.toInt
      }
      implicit def f2(l: Long): Int = {
        l.toInt
      }
      val num: Int = 3.5
      println(num)
      val num2: Int = 4.5
      println(num2)
      val num3: Int = 20l
 } 


隐式转换的注意事项和细节

隐式转换函数函数名可以是任意的,隐式转换与函数名称无关,只与函数签名(函数参数类型和返回值类型)有关。

隐式函数可以有多个(即:隐式函数列表),但是需要保证在当前环境下,只有一个隐式函数能被识别

//在当前环境中,不能存在满足条件的多个隐式函数
im

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...