确保在使用隐式转换时,对应的伴生对象被正确地引用,并且所需的类型是可见的。以下是一个示例代码:
case class Celsius(value: Double)
object TemperatureConversions {
implicit def celsiusToFahrenheit(c: Celsius): Fahrenheit = {
Fahrenheit(c.value * 9 / 5 + 32)
}
}
case class Fahrenheit(value: Double)
object TestImplicitConversion {
def main(args: Array[String]): Unit = {
// 将摄氏温度转换为华氏温度
import TemperatureConversions._
val celsius = Celsius(25)
val fahrenheit: Fahrenheit = celsius // 错误:隐式转换未被调用
val fahrenheit2: Fahrenheit = celsiusToFahrenheit(celsius) // 正确:显式地调用隐式转换
}
}
上一篇:伴生对象中的对象实例
下一篇:半双工对象的串行读取