【发布时间】:2013-08-29 20:39:51
【问题描述】:
简而言之,这是可行的:
object Main {
def main(args: Array[String]) {
trait T1[T] {
def f1(a: T): Double
}
val ea1 = new T1[List[String]] {
def f1(a: List[String]): Double = a.length
}
}
}
但这不会编译:
object Main {
def main(args: Array[String]) {
trait T1 {
def f1[T](a: T): Double
}
val ea1 = new T1 {
def f1(a: List[String]): Double = a.length
}
}
}
object creation impossible, since method f1 in trait T1 of type [T](a: T)Double is not defined
val ea1 = new T1 {
^
由于方法上的类型参数,似乎没有考虑该方法。
如何在不使用特征类型参数或特征抽象类型的情况下实现这一点?! 蒂亚!
【问题讨论】:
标签: scala type-parameter abstract-methods