Tôi có một lớp, mà tôi đã đơn giản hóa như sau:Tại sao bộ so sánh đơn giản của tôi bị hỏng?
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);
}
}
Tôi muốn sắp xếp một mảng của điều này. Vì vậy, tôi đã tạo một máy copmarator đơn giản:
private static final Comparator<Thing> reverse = new Comparator<Thing>() {
public int compare(Thing a, Thing b) {
return a.getValue() - b.getValue();
}
};
Tôi sau đó sử dụng hai loại đối số là Arrays.sort
.
Điều này làm việc tốt cho các trường hợp thử nghiệm của tôi, nhưng đôi khi nó đi sai với mảng kết thúc theo một thứ tự kỳ lạ nhưng có thể lặp lại. Làm thế nào điều này có thể?
Tìm mọi cách sai? – MarkusQ
Đó là câu đố! – erickson