scala的隐式转换基本使用(二)

26 阅读1分钟

作用域

先说一个不能放的位置:implicit 不能放在顶级作用域(不能放在类的外边)

在实际的操作过程中,我们建议把它定义在如下两个地方:

1.包对象。这样在这个包下的所有类和对象中都可以使用,并且不需要额外的引入语句。

  1. 一个单独的文件定义中。这样在其他需要的位置就可以直接导入,然后使用。

语法

在其他需要使用的地方导入:

import implictions.Implictions._

文件implictions中的代码为:

package implictions

object Implictions {
  implicit def double2Int(x:Double):Int={
    println("double to int...")
    x.toInt
  }

}

详细操作如图所示: 屏幕截图 2025-12-29 101912.png