Guten Tag,
ich habe nachgelesen, dass
ArrayLists, LinkedLists, etc. mit unterschiedlichen Elementtypen inkompatible sind und nicht gemischt werden können!
somit liefert folgender Aufruf einen Compiler Fehler:
Bis jetzt habe ich mich mit den Generics noch nicht beschäftigt vielleicht fällt dann erst der Groschen.
Denn wieso funktioniert dann dieser Aufruf?
Diese erstelle LinkedList kommt einem Object[] gleich. Dort kann ich sämtliche Object rein stecken und über "hoffentlich" vorhandene toString() Mehtode mit foreach Schleife ausgeben lassen:
Ich verstehe einfach nicht was diese <> Klammer tun?
In Java ist eine Insel steht weiterhin dieses: (was ja schon die Antwort ist denke ich )
Da in allen Datenstrukturen jedes Exemplar einer von Object abgeleiteten Klasse Platz findet, sind die Listen grundsätzlich nicht auf bestimmte Datentypen fixiert, doch Generics spezifizieren diese Typen genauer.
Da ich oben diese spezifikatioin auf Object lege ist der Generice Typ Objet und somit alles zugelassen?
Vielleicht könnt Ihr mir das genauer erklären wäre euch sehr dankbar
LG
ich habe nachgelesen, dass
ArrayLists, LinkedLists, etc. mit unterschiedlichen Elementtypen inkompatible sind und nicht gemischt werden können!
somit liefert folgender Aufruf einen Compiler Fehler:
Java:
ArrayList<Object> objectlist = new ArrayList<String>(); //FEHLER
Bis jetzt habe ich mich mit den Generics noch nicht beschäftigt vielleicht fällt dann erst der Groschen.
Denn wieso funktioniert dann dieser Aufruf?
Java:
List<Object> ol = new LinkedList<>();
Diese erstelle LinkedList kommt einem Object[] gleich. Dort kann ich sämtliche Object rein stecken und über "hoffentlich" vorhandene toString() Mehtode mit foreach Schleife ausgeben lassen:
Java:
for(Object i:l)
System.out.println(i.toString()+" ");
Ich verstehe einfach nicht was diese <> Klammer tun?
In Java ist eine Insel steht weiterhin dieses: (was ja schon die Antwort ist denke ich )
Da in allen Datenstrukturen jedes Exemplar einer von Object abgeleiteten Klasse Platz findet, sind die Listen grundsätzlich nicht auf bestimmte Datentypen fixiert, doch Generics spezifizieren diese Typen genauer.
Da ich oben diese spezifikatioin auf Object lege ist der Generice Typ Objet und somit alles zugelassen?
Vielleicht könnt Ihr mir das genauer erklären wäre euch sehr dankbar
LG