我认为,用一个简单的例子来解释这一点比较容易。 (帮助重写标题是受欢迎的;-)
我愿采用<条码>,使用<条码>,并使用<条码>简单明了的代号/代码>,自动将其添加到支持<条码>的任何类别中。
它非常容易:
class EnhancedInt(x: Int) { def squared = x * x }
implicit def IntToEnchancedInt(x: Int) = new EnhancedInt(x)
但是,如果存在任何或任何错误,我会发现以下错误:
scala> class EnhanceAny(x: AnyVal) { def squared = x * x }
<console>:7: error: value * is not a member of AnyVal
class EnhanceAny(x: AnyVal) { def squared = x * x }
我很想知道,我如何能够将其应用于任何数字类别,或甚至适用于支持<代码>*的任何类别。