我正在创建一个包含对象的列表Comparable
,并希望创建一个作为列表最小值的对象,以便它始终为其compareTo
方法返回 -1。列表中的其他方法,例如print
此处需要输入 A 类型。如果我编译代码,则会收到以下错误:
error: type mismatch;
found : java.lang.Object with java.lang.Comparable[String]
required: String
l.print(l.min)
任何人都知道如何创建这样一个最小元素,使其始终小于列表中的任何其他元素?
class MyList[A <: Comparable[A]] {
val min = new Comparable[A] {
def compareTo(other: A) = -1
}
def print(a: A) = {
println(a)
}
}
class Run extends Application {
val l = new MyList[String]
l.print(l.min)
}