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.
爲什麼?