Unterschiede zwischen "Kopieren (Liste <? Super T> Ziel, Liste <? Erweitert T> Ziel)" und "Kopieren (Liste <T> Ziel, Liste <? Erweitert T> Ziel)"
ch versuche, Java Generics-Platzhalter zu lernen, indem ich Folgendes lese:http: //www.angelikalanger.com/GenericsFAQ/FAQSections/TypeArguments.html#FAQ10
Das Material enthält ein Beispiel:
public class Collections {
public static <T> void copy (List<? super T> dest, List<? extends T> src) {
for (int i=0; i<src.size(); i++)
dest.set(i,src.get(i));
}
}
Ich habe mich gefragt, ob ich die Methodensignatur wie folgt ändern kann:
public static <T> void copy(List<? super T> dest, List<? extends T> src) {
↓
public static <T> void copy(List<T> dest, List<? extends T> src) {
Gibt es Unterschiede zwischen diesen beiden Methodensinaturen?
Beispiele wäre dankbar.