MR34L
Cadet 4th Year
- Registriert
- Apr. 2008
- Beiträge
- 107
Hey Leute,
kurz zum meinem Problem.
Habe 2 Supertypen welche beide das Interface Comparable implementieren,
nun möchte ich mir einen Insertionsort bauen (bzw eine insert Methode um Objekte in die richtige Position einer Liste einzufügen).
Mir wäre es jetzt recht, wenn ich nicht für jede von den beiden Supertypen abgeleitete Klasse, die Methode insert überladen müsste, sonder alles mit einer generic Version machen könnte.
Mit Hilfe von eclipse bin ich dann hier drauf gekommen:
Leider funktioniert die Methode nicht. Eclipse zeigt mir folgendes an.
Ich hoff das war alles verständlich & danke schonmal für die Hilfe
kurz zum meinem Problem.
Habe 2 Supertypen welche beide das Interface Comparable implementieren,
nun möchte ich mir einen Insertionsort bauen (bzw eine insert Methode um Objekte in die richtige Position einer Liste einzufügen).
Mir wäre es jetzt recht, wenn ich nicht für jede von den beiden Supertypen abgeleitete Klasse, die Methode insert überladen müsste, sonder alles mit einer generic Version machen könnte.
Mit Hilfe von eclipse bin ich dann hier drauf gekommen:
Code:
@SuppressWarnings("unchecked")
public static <T> void insert(List<Comparable<T>> objs, Comparable<T> obj) {
int ix = 0;
for (Comparable<T> o : objs) {
if (o.compareTo((T) obj) < 0) {
ix++;
}
}
objs.add(ix, element);
}
Leider funktioniert die Methode nicht. Eclipse zeigt mir folgendes an.
Code:
The method insert(List<Comparable<T>>, Comparable<T>) in the type Insert is not applicable for the arguments (List<Bike>, Bike)
Ich hoff das war alles verständlich & danke schonmal für die Hilfe