一、 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 举报,一经查实,本站将立刻删除。