【发布时间】:2018-09-08 18:54:02
【问题描述】:
我应该创建具有 2 个不同实现的类 Example[T]:
- 如果
T可以转换为Numeric - 另一种情况
我尝试通过隐式转换来做到这一点
class ExampleImplicits{
implicit def convert[T](example: Example[T]): ExampleSecond[T] = new ExampleSecond[T]()
}
class Example[T:Numeric]...
class ExampleSecond[T]...
我想如果编译器在scala.Numeric.Implicit中找不到T的隐式转换,那么他会提出我的隐式转换。
但是当我测试代码时,这不是这样的。我怎样才能做这个专业化?
更新
我想得到什么:
val x = new Example[Int]()
x.methodThatHaveOnlyNumerics()
x.methodThatHaveAllImplementations()
val y = new Example[String]()
y.methodThatHaveAllImplementations()
现在我无法编译我的代码。
【问题讨论】:
-
你能用一些示例代码展示你期望发生的事情以及实际发生的事情吗?因为我不是很关注。
-
@Jasper-M 谢谢你的回答,我已经用预期的结果更新了问题
标签: scala