我想知道是否有一个很好的理由使用子类型作为函数类型参数? 让我们考虑下面的例子:是否有理由在Scala中使用子类型作为类型参数?
scala> trait Animal { def sound: String }
defined trait Animal
scala> def f1[T <: Animal](a: T) = a.sound
f1: [T <: Animal](a: T)String
scala> def f2(a: Animal) = a.sound
f2: (a: Animal)String
拥有F1一定的优势超过F2?
如果'f1'需要返回一个'T'或某些类型的引用'T ',那当然。 –