一、 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