jim66
Grünschnabel
Ahoi,
folgende Methode soll zwei LinkedLists die Comparable Daten enthalten sortiert zusammenfügen, bei der Operation nehme ich zwei Comparable und will sie mit a.compareTo(b) vergleichen. Da gibt eclipse die Warnung:
"Type safety: The method compareTo(Object) belongs to the raw type
Comparable. References to generic type Comparable<T> should be
parameterized"
Hier der Code:
Was will mir Eclipse mit der Warnung sagen? Im Prinzip vergleiche ich doch nur 2 Comparable vom gleichen Typ.
Vielen Dank schonmal.
//Edit, <T extends Comparable<T>> muss es heißen.... Problem gelöst. D'oh.
folgende Methode soll zwei LinkedLists die Comparable Daten enthalten sortiert zusammenfügen, bei der Operation nehme ich zwei Comparable und will sie mit a.compareTo(b) vergleichen. Da gibt eclipse die Warnung:
"Type safety: The method compareTo(Object) belongs to the raw type
Comparable. References to generic type Comparable<T> should be
parameterized"
Hier der Code:
Java:
private static <T extends Comparable> LinkedList<T> merge(LinkedList<T> a, LinkedList<T> b) {
LinkedList<T> c = new LinkedList<T>();
while(!a.isEmpty()&&!b.isEmpty())
if(a.getFirst().compareTo(b.getFirst())<1)c.add(a.pop()); //Warnung
else c.add(b.pop());
if(a.isEmpty())c.addAll(b);
if(b.isEmpty())c.addAll(a);
return c;
}
Was will mir Eclipse mit der Warnung sagen? Im Prinzip vergleiche ich doch nur 2 Comparable vom gleichen Typ.
Vielen Dank schonmal.
//Edit, <T extends Comparable<T>> muss es heißen.... Problem gelöst. D'oh.
Zuletzt bearbeitet: