オブジェクトを保持するリストを作成していますが、そのメソッドComparable
に対して常に -1 を返すように、リストの最小値として機能する 1 つのオブジェクトを作成したいと考えています。compareTo
ここのようなリスト内の他のメソッドには、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)
}