Betrachten Sie diese Klasse in Java mit:Wie binäre Operatoren "<" and ">" zum Vergleichen von Objekten in Java zu verwenden?
Foo foo1 = new Foo(someValue);
Foo foo2 = new Foo(someAnotherValue);
if (foo1 < foo2) {
// do something
}
Aber die IDE gibt mir einen Fehler, der ist:
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;
}
}
}
ich, dies zu tun versucht, „Bad Operandentypen für binäre Operation '<' erster Typ: Foo, zweiter Typ: Foo "
Können Sie mir bitte sagen, was los ist?
Vielen Dank im Voraus für Ihre Hilfe,
Sie können nicht. Diese Operatoren können nur mit numerischen Typen verwendet werden. 'Foo' ist kein numerischer Typ. – Savior
Java unterstützt (im Gegensatz zu einigen anderen Sprachen) ** nicht das Überladen von Operatoren. –