У меня есть класс, который я упростил для этого:
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);
}
}
Я хочу отсортировать массив этой вещи. Поэтому я создал простой комаратор:
private static final Comparator<Thing> reverse = new Comparator<Thing>() {
public int compare(Thing a, Thing b) {
return a.getValue() - b.getValue();
}
};
Затем я использую две формы аргумента Arrays.sort
.
Это отлично работает для моих тестовых случаев, но иногда все идет не так, когда массив заканчивается странным, но повторяемым порядком. Как это может быть?