homedukeOOP mit Java: Problem: Generics und Vererbung Prof. Dr. Uwe Schmidt FH Wedel

Problem: Generics und Vererbung

weiter

weiter

Generics und Vererbung

?
Welche Probleme treten bei der Kombination von Generics und Vererbung auf?
Beispiel
List<String> ls = new ArrayList<String>();
List<Object> lo = ls;
weiter
?
Beispiel korrekt, übersetzbar, ausführbar?
Problem
lo.add(new Integer(42));
String s = ls.get(0);
weiter
merke
List<String> ist kein Subtyp von List<Object>
Regel
Sei Y ein Subtyp von X.
 
Dann folgt daraus NICHT
 
G<Y> ist Subtyp von G<X>
merke
Diese Problem tauchte auch bei Feldern auf.
Dort war die Zuweisungskompatibilität gegeben.
schlecht
Folge: ArrayStoreException
schlecht
Keine Lösung: ContainerStoreException

Letzte Änderung: 28.05.2014
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel