Je crée une liste contenant Comparable
objets et souhaite créer un objet qui sert de minimum de la liste, de sorte qu'il retourne toujours -1 pour sa méthode compareTo
. D'autres méthodes dans la liste, comme print
ici nécessite une entrée de type A. Si je compile le code que je reçois l'erreur suivante:Scala incompatibilité de type de classe anonyme
error: type mismatch;
found : java.lang.Object with java.lang.Comparable[String]
required: String
l.print(l.min)
Quelqu'un a une idée de comment un créer un tel élément minimum de façon à est toujours plus petit que tous les autres éléments de la liste?
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)
}