定义隐式函数和类
object ImplicitContext {
//隐式转换函数(String->Int)
implicit def string2Int(s:String)=s.toInt
//隐式转换类,将 int类型转为Buffer 并将int值添加到buffer中
implicit class Int2String(i:Int){
def int2Buffer={
val arr = new ArrayBuffer[Int]
arr.append(i)
arr
}
}
}
调用
object ImplicitClient extends App {
//导入隐式转换
import ImplicitContext._
println("-------------使用隐式函数---------->")
val ss: Int = "22"
private val i: Int = ss * 2
println(i)
println("---------------------使用隐式类------->")
private val buffer: ArrayBuffer[Int] = 3.int2Buffer
println(buffer)
}
执行结果
-------------隐式函数---------->
44
---------------------隐式类------->
ArrayBuffer(3)
Process finished with exit code 0