Hallo liebes Java-Forum,
ich möchte in einem Java-Rahmenwerk einen Sortieralgorithums implementieren. An folgendem Problem komme ich allerdings nicht weiter:
Um den Sortieralgorithmus zu implementieren, muss ich eine von dem Rahmenwerk vorgeschriebene Klasse mit bestimmten Methoden implementieren.
In dieser Klasse befindet sich die Variable data mit dem Datentyp List<?>.
Sowie ich das verstanden habe, ist eine von den Methoden (setData) dazu da, diese Variable data mit Inhalt zu füllen, welcher später dann sortiert werden soll.
Die Methode setData bekommt als Parameter allerdings eine Collection<T> mitgeliefert.
Wenn ich nun z.B. ein Element aus dieser Collection<T> in die List<?> einfügen möchte kommt logischerweise eine Fehlermeldung, da die Generics ja irgendwie nicht zusammen passen.
folgendes ist mein nichtfunktionierender Lösungsvorschlag der Methode:
In Zeile 2 gibt Eclipse folgendes aus: The method addAll(Collection<? extends capture#1-of ?>) in the type List<capture#1-of ?> is not applicable for the arguments (Collection<T>)
Könnt ihr mir weiterhelfen?
Ich habe wohl ein Verständnisproblem mit Generics vorallem mit diesen unknown <?>, allerdings werde ich aus den gängigen Dokumentationen auch nicht schlauer.
Vielen Dank im Voraus!
ich möchte in einem Java-Rahmenwerk einen Sortieralgorithums implementieren. An folgendem Problem komme ich allerdings nicht weiter:
Um den Sortieralgorithmus zu implementieren, muss ich eine von dem Rahmenwerk vorgeschriebene Klasse mit bestimmten Methoden implementieren.
In dieser Klasse befindet sich die Variable data mit dem Datentyp List<?>.
Sowie ich das verstanden habe, ist eine von den Methoden (setData) dazu da, diese Variable data mit Inhalt zu füllen, welcher später dann sortiert werden soll.
Die Methode setData bekommt als Parameter allerdings eine Collection<T> mitgeliefert.
Wenn ich nun z.B. ein Element aus dieser Collection<T> in die List<?> einfügen möchte kommt logischerweise eine Fehlermeldung, da die Generics ja irgendwie nicht zusammen passen.
folgendes ist mein nichtfunktionierender Lösungsvorschlag der Methode:
Java:
void setData(Collection<T> arg) {
this.data.addAll(arg);
[...]
}
In Zeile 2 gibt Eclipse folgendes aus: The method addAll(Collection<? extends capture#1-of ?>) in the type List<capture#1-of ?> is not applicable for the arguments (Collection<T>)
Könnt ihr mir weiterhelfen?
Ich habe wohl ein Verständnisproblem mit Generics vorallem mit diesen unknown <?>, allerdings werde ich aus den gängigen Dokumentationen auch nicht schlauer.
Vielen Dank im Voraus!