Я создаю список, содержащий объекты Comparable
, и хочу создать один объект, который служит минимальным списком, так что он всегда возвращает -1 для своего метода compareTo
. Другие методы в списке, как print
здесь требует ввода типа А. Если я скомпилировать код, я получаю следующее сообщение об ошибке:Scala anonymous тип класса несоответствие
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)
}