Ich überprüfte den Code von jemand anderem neulich und ich stieß auf eine Zeile, die einige Bedenken aufwarf. Um zu vereinfachen, sagen wir, ich habe eine generische Klasse A und eine abstrakte Klasse B. Ist die folgende Instanziierung erlaubt und wenn ja, warum?Generics Wildcard-Instanziierung
Object obj = new A<? extends B>();
Ich habe persönlich nie eine Instanziierung wie die oben genannten, obwohl eine Erklärung wie
A<? extends B> obj = null;
würde sicher halten gesehen. Ich habe immer den Platzhalter in Generics verwendet, um Methodenparameter zu deklarieren, so dass ich einfach nicht die Erfahrung habe.
Welche Version von Java verwenden Sie? –
bezogen, wenn nicht dupliziert: http://StackOverflow.com/Questions/9147129/creating-new-generic-Object-with-Wildcard und http://StackOverflow.com/Questions/12200136/Cannot-Instantiate-Type-in- Generika? lq = 1 –