微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

《大数据: 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐