scala implicit代码最佳实践

来源:互联网 发布:大连共创软件怎么样 编辑:程序博客网 时间:2024/06/06 14:27
import java.io.Fileimport scala.io.Source/** * Created by xiaojun on 2015/10/8. */class RicherFile(file: File) {  def read = Source.fromFile(file).getLines().mkString}class File_Implicit(path: String) extends File(path)object File_Implicit { //在半生对象中定义隐式转换方法,这样可以不用import,自动找到相应的隐式转换  implicit def file2RicherFile(file: File) = new RicherFile(file)}object Caption65 {  def main(args: Array[String]) {    new File_Implicit("").read //File实例本身没有read方法,这里是调用的是隐式转换成RicherFile实例之后的read方法。  }}
另外spark的RDD伴生对象中也是这么使用的,定义了很多RDD的隐式转换,当满足相应的转换规则时,会自动转换成其他类型,实现增强RDD的效果。
0 0
原创粉丝点击