Scala - 隐式类型转换

时间:2012-08-16 11:28:32

标签: scala type-conversion

  

可能重复:
  How can implicits with multiple inputs be used in Scala?

我明白如果我们用scala写

implicit def str2int(str:String):Int = Integer.parseInt(str)
def addTwo(a:Int, b:Int) = a + b

addTwo("123", 456)

我们将参数从String转换为Int。下面会做什么,用法是什么:

implicit def convert(a: Int, b: Int): String = a + "," + b

这是一个有效的声明,我根本不知道用法可能是什么,来自我仍然没有完全理解隐式转换的事实......

1 个答案:

答案 0 :(得分:-3)

隐式转换尝试将不适合方法调用的类型转换为拟合类型,而不显示它。

addTwo("123", 456)

被内部转换为:

addtwo(str2int("123"), 456)

如需详细介绍,请摘取Programming in Scala第13章。