Ich verstehe, warum ich kann folgendes nicht tun:Kann ich eine generische Liste erstellen, in der ich einen Typ und einen Untertyp hinzufügen kann?
private class Parent {
};
private class Child extends Parent {
};
private class GrandChild extends Child {
};
public void wontCompile(List<? extends Parent> genericList, Child itemToAdd) {
genericList.add(itemToAdd);
}
Meine Frage ist es eine praktische Möglichkeit, eine typsichere Liste zu haben, wo Sie Anruf hinzufügen können (E), wobei E bekannt ist, nur ein Elternteil oder ein Kind zu sein ?
Ich erinnere mich vage an eine Verwendung des "|" Operator wie für Platzhalter verwendet, aber ich kann es nicht in der Spezifikation finden ...
Vielen Dank!
http://en.wikipedia.org/wiki/Liskov_substitution_principle sagt, dass Sie das nicht wollen/müssen . – ILMTitan