Hallo Zusammen,
ich mache hier gerade ein Beispiel aus einem (sehr guten) Buch durch. Dazu habe ich eine grundlegende Versändnisfrage.
Ich poste einfach 'mal den Code:
Der Code funktioniert so prima. Meine Verständnisfrage ist: Warum muss das Interface Comparable überhaupt in Ring implementiert werden?
Wenn ich in die API gucke, steht da: static void java.util.Arrays.sort(Object[] a),
d.H. ein Array vom Typ Object wird übergeben. Jetzt könnte ja die sort-Methode doch rein theoretisch auch, ohne dass Ring Comparable implementiert hat, auf die Methode compareTo() meiner Objekte vom Typ Ring zugreifen? Versteht Ihr was ich meine? Kann man das irgendwie erklären? An welcher Stelle und zu welchem Zweck/Vorteil setzt Arrays.sort(Object[] a) vorraus, dass Ring Comparable implementiert hat?
ich mache hier gerade ein Beispiel aus einem (sehr guten) Buch durch. Dazu habe ich eine grundlegende Versändnisfrage.
Ich poste einfach 'mal den Code:
Java:
public class Ring implements Comparable <Ring> {
private double durchmesser;
public Ring (double durchmesser) {
this.durchmesser = durchmesser;
}
public String toString () {
return "Ring der Groeße: " + durchmesser;
}
public int compareTo (Ring o) {
double durchmesser2 = o.durchmesser;
if (durchmesser < durchmesser2)
return -1;
if (durchmesser > durchmesser2)
return 1;
else
return 0;
}
}//Class Ring
public class RingTest {
public static void main (String[] args) {
Ring[] ringe = new Ring[10];
for (int i = 0; i < ringe.length; i++)
ringe[i] = new Ring (Math.random());
java.util.Arrays.sort(ringe);
for (Ring r : ringe)
System.out.println (r);
}//main
}//Class RingTest
Der Code funktioniert so prima. Meine Verständnisfrage ist: Warum muss das Interface Comparable überhaupt in Ring implementiert werden?
Wenn ich in die API gucke, steht da: static void java.util.Arrays.sort(Object[] a),
d.H. ein Array vom Typ Object wird übergeben. Jetzt könnte ja die sort-Methode doch rein theoretisch auch, ohne dass Ring Comparable implementiert hat, auf die Methode compareTo() meiner Objekte vom Typ Ring zugreifen? Versteht Ihr was ich meine? Kann man das irgendwie erklären? An welcher Stelle und zu welchem Zweck/Vorteil setzt Arrays.sort(Object[] a) vorraus, dass Ring Comparable implementiert hat?