Zuweisen einer Liste von Ganzzahlen zu einer Liste von Zeichenfolgen

Ich lernte gerade Generics in Java und kam einem sehr interessanten Stück Code nahe. Ich weiß, dass es in Java illegal ist, eine Liste eines Typs einer anderen hinzuzufügen.

List<Integer> integerList = new ArrayList<Integer>();
List<String> stringList=integerList;

In der zweiten Zeile erhalte ich einen Kompilierungsfehler.
Aber wenn ich eine generische Methode in einer Klasse wie dieser erstelle,

class  GenericClass <E>{
    void genericFunction(List<String> stringList) {
        stringList.add("foo");
    }
    // some other code
}

Und in der Hauptklasse rufen Sie die Methode mit der Liste von Integer auf. Ich erhalte keine Fehlermeldung.

public class Main {
  public static void main(String args[]) {

     GenericClass genericClass=new GenericClass();
     List<Integer> integerList= new ArrayList<Integer>();
     integerList.add(100);
     genericClass.genericFunction(integerList);
     System.out.println(integerList.get(0));
     System.out.println(integerList.get(1));
  }
}

Ausgabe
100
foo

Warum erhalte ich keine Fehlermeldung?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage