Ich habe Probleme bei der Umsetzung meines benutzerdefinierten Komparator für meine Klasse verwenden:Kann benutzerdefinierten Vergleicher in Java
public class MyProject {
private static class SuperClass {
public SuperClass (ArrayList<Car> cars) {
Collections.sort(cars);
Collections.sort(cars, new Car.CustomOrder());
}
}
public final static class Car implements Comparable<Car> {
public Comparator<Car> customOrder() {
return new CustomOrder();
}
public class CustomOrder implements Comparator<Car> {
public int compare(Car c1, Car c2) {
// some code
return 1;
}
}
}
Ich mochte Autos CustomOrder
durch benutzerdefinierten Komparator sortieren. Ich kann meinen Fehler nicht finden, also bitte hilf mir.
Dieser Code ist voll mit nicht kompilierbarem Code. Hast du die Fehlermeldungen vom Compiler gelesen? Was sagen Sie? Was verstehst du nicht? Warum denkst du, dass es eine gute Idee ist, alle deine Klassen so zu nisten? –
Was ist Auto ... oder spezifischer: Was hat Auto für Felder, die Sie auf eine benutzerdefinierte Bestellung beziehen können? –
Auch macht es (zumindest für mich) keinen Sinn, 'sort()' im ctor der SuperClass zu nennen. Dies wird von der Klasse "Comparator" nicht benötigt, und es macht keinen Sinn, eine Sortieroperation wie diese in einem Komparator zu erzwingen. – markspace