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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage