Was nützt es, <zu sagen? erweitert SomeObject> anstelle von <SomeObject>

Also habe ich mir Java-Code angesehen und bin auf Folgendes gestoßen:

List<? extends SomeObject> l;

Grundsätzlich akzeptiert diese Liste alle Objekte, die eine Art von SomeObject sind - SomeObject selbst oder seine Erben. Aber laut Polymophismus können seine Erben auch als SomeObject angezeigt werden, so dass dies auch funktionieren würde:

List<SomeObject> l;

Warum sollte jemand die erste Option verwenden, wenn die zweite klar definiert und praktisch identisch ist?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage