Ich habe eine Klasse, die ich dies vereinfacht:Warum ist mein einfacher Komparator defekt?
final class Thing {
private final int value;
public Thing(int value) {
this.value = value;
}
public int getValue() {
return value;
}
@Override public String toString() {
return Integer.toString(value);
}
}
Ich möchte eine Reihe von dieser Sache sortieren. So habe ich eine einfache copmarator erstellt:
private static final Comparator<Thing> reverse = new Comparator<Thing>() {
public int compare(Thing a, Thing b) {
return a.getValue() - b.getValue();
}
};
ich dann verwenden, um die zwei Argument Form Arrays.sort
.
Dies funktioniert gut für meine Testfälle, aber manchmal ist alles falsch mit dem Array in einer seltsamen, aber wiederholbaren Reihenfolge endet. Wie kann das sein?
Geht alles falsch wie? – MarkusQ
Das ist das Puzzle! – erickson