-1
はJavaでこのクラスを持つ考えてみましょう:バイナリ演算子 "<" and ">"を使用してJavaでオブジェクトを比較する方法は?
public class Foo implements Comparable<Foo> {
private int someValue;
@Override
public int compareTo(Foo o) {
if (this.someValue < o.someValue) {
return -1;
} else if (this.someValue == o.someValue) {
return 0;
} else {
return 1;
}
}
}
私はこれを実行しようとしました:
Foo foo1 = new Foo(someValue);
Foo foo2 = new Foo(someAnotherValue);
if (foo1 < foo2) {
// do something
}
しかし、IDEは私にあるエラー与えている: 『<』バイナリ操作のための「悪いオペランドの型を最初のタイプ:Foo、2番目のタイプ:Foo "
どうか間違っていると教えてください。あなたの助けを事前に
おかげで、Comparable
インタフェースを実装
できません。これらの演算子は数値型でのみ使用できます。 'Foo'は数値型ではありません。 – Savior
Java(他の言語とは異なります)では、演算子のオーバーロードをサポートしていません**。 –