Bis vor ein paar Tagen hatte ich noch nie etwas von Wildcars gehört, und nachdem ich das Java-Buch meines Lehrers gelesen habe, bin ich mir immer noch nicht sicher, wozu es gut ist und warum ich es verwenden sollte.
Nehmen wir an, ich habe eine Superklasse Animal
und einige Unterklassen wie Dog
, Cat
, Parrot
usw. ... Jetzt muss ich eine Liste von Tieren haben, mein erster Gedanke wäre etwas wie:
List<Animal> listAnimals
Stattdessen empfehlen meine Kollegen etwas wie:
List<? extends Animal> listAnimals
Warum sollte ich Wildcards anstelle von einfachen Generika verwenden?
Angenommen, ich benötige eine get/set-Methode, sollte ich erstere oder letztere verwenden? Inwiefern sind sie so unterschiedlich?