2
我有一个这样的泛型类,我只想当T是Int时调用函数“one”。什么时候应该在scala中使用泛型类中的类型绑定?
class A[T] {
def one[T <: Int] = 1
}
val a = new A[String]
a.one
但是这个编译。
我发现我可以这样做:
class A[T] {
def one(implicit ev: T <:< Int) = 1
}
val a = new A[String]
a.one
<console>:14: error: Cannot prove that String <:< Int.
为什么?