Hallo zusammen,
ich habe folgenden Code vorliegen:
ich weiss was der Code macht, aber leider verstehe ich den Code syntaktisch nicht ganz. Also:
1. die Methode Arrays.sort erhält 2 Parameter übergeben.
2. der 2. Parameter ist mir gänzlich unbekannt. Was wird denn hier gemacht?
Aus dem ersten Blick sieht dies nach einem Objekt von der Klasse Comparator. Ich habe in die Doku nachgeschlagen --> Comparator ist ein Interface. Und soweit ich weiss kann ein Interface nicht instantiiert werden. Warum dann new Comparator( ) ****?
3. noch verwirrender für mich ist was danach folgt:
Hier wird ja eine Methode deklariert und definiert. Wie ist das möglich?
Könnte mir jemand bitte helfen? Vielen Dank.
Schöne Grüße aus Rheinland,
Eure Ratna
ich habe folgenden Code vorliegen:
Code:
Arrays.sort(Datei, new Comparator() {public int compare(Object a, Object b) {
meinHandler f1 = new meinHandler((String) a);
meinHandler f2 = new meinHandler((String) b);
if (f1.date.compareTo(f2.date) != 0) {
return f1.date.compareTo(f2.date);
} else {
return f1.dateiart.compareTo(f2.dateiart);
}
}
})
ich weiss was der Code macht, aber leider verstehe ich den Code syntaktisch nicht ganz. Also:
1. die Methode Arrays.sort erhält 2 Parameter übergeben.
2. der 2. Parameter ist mir gänzlich unbekannt. Was wird denn hier gemacht?
Aus dem ersten Blick sieht dies nach einem Objekt von der Klasse Comparator. Ich habe in die Doku nachgeschlagen --> Comparator ist ein Interface. Und soweit ich weiss kann ein Interface nicht instantiiert werden. Warum dann new Comparator( ) ****?
3. noch verwirrender für mich ist was danach folgt:
Code:
public int compare(Object a, Object b) {...}
Könnte mir jemand bitte helfen? Vielen Dank.
Schöne Grüße aus Rheinland,
Eure Ratna