合理运用 implicit关键字,可以很好的降低代码量;
object ImplicitDemo {
def display(input:String):Unit = println(input)
implicit def TypeConvert(input:Int):String = input.toString
implicit def TypeConvert(input:Boolean):String = if(input) "true" else "false"
def main(args:Array[String]): Unit = {
display("1212")
display(12123)
display(true)
}
}
上述代码,如果不使用implicit 需要重写两个display 方法 实现整型和布尔型的输出;
implicit 的引入有效的减少了代码量;
对于一些大数据的写入方法中,implicit的作用尤其重要;
例如,Nosql数据库写入十万条加prefix的数据
prefix是指定的整型,而后续的context是字符窜类型;
这时利用implict ,可以将插入操作,在一个方法中实现。