Was ist Generizität?
Dabei werden Funktionen möglichst allgemein entworfen, um für unterschiedliche Datentypen und Datenstrukturen verwendet werden zu können.Beispiel List<T>, Stack<T>, HashMap<K, V> Generische Typen (“Generics”):Typen mit mit einem oder mehreren Typparametern Generische Methoden:Methoden mit einem oder mehreren Typparametern
Was sind Wrapper-Klassen für primitive Datentypen?
Da primitive Typen können nicht instanziert werden können, kann man sie auch nicht bei der Generizität verwenden. Deshalb gibt es für primitive Datentypen Wrapper Klassen welche analog zu den primitiven Typen funktionieren. Wrappen mit Konstruktor, unwrappen über Getter. Auto-un/boxing funktioniert implizit durch die jeweilige Typenzuweisung.
Was ist der universelle Typ Object in Java?
Alle nicht primitiven Datentypen erben von Object. Deshalb besonderer (universeller) Typ Nicht direkt instanziierbar Keine spezifischen Operationen Variablen dieses Typs enthalten beliebige Referenzen Zuweisung “vergisst” Typ der rechten Seite Lesender Zugriff benötigt Cast zur “Erinnerung”
Wie funktioniert das Iterable / Iterator Pattern?
Es gibt zwei Interfaces:1. Iterable<T>Dieses Interface hat als Methode iterator().Diese gibt das Interface:2. Iterator zurück.Im Interface Iterator gibt es zwei Methoden hasNext() und next(). Die Klasse, welche Iterable sein soll, muss dementsprechend auch zwangsläufig das Interface Iterator implementieren.
Was ist Covarianz von Feldtypen?
Ein Feldtyp [B] ist ein Untertyp vom Feldtyp [A]wenn B ein Untertyp von A ist. Beispiel:public class A {}public class B extends A {}B[] bs = new B[] { new B() };A[] as;as = bs;Zuweisungskompatibel
Wann gibt es einen Laufzeitfehler bei Covarianz?
Beispiel:public class A {}public class B extends A {}B[] bs = new B[] { new B() };A[] as;as = bs;as[0] = new A(); ArrayStoreException