richtiges deklarieren ArrayList

AS

Mitglied
Hallo,

ich habe folgendes Problem. Ich lerne gerade Java mit dem Buch "Java von Kopf bis Fuß". Das ist schon ein bisschen älter und im Bezug auf ArrayLists wird in diesem Buch immer gesagt, dass ab Java 5.0 man eine ArrayList so deklarieren und ein Integer hinzufügen können sollte:

Java:
int x=32;
ArrayList list=new ArrayList();
list.add(x);

oder vor Java 5.0 eben mit einem Wrapper:

Java:
int x=32;
Integer xEingepackt= new Integer(x);
ArraList list=new ArraList;
list.add(x);

Jetzt ist aber das Problem, dass weder die eine noch die andere Variante bei mir funktioniert. Beim Compilieren kommt folgender Fehler(gleicher Fehler bei beiden Varianten):

"The method add(int, Object) in the type ArrayList is not applicable for the arguments (int)"

Das würde aber bedeuten, dass man prinzipiell keine ArrayList deklarieren kann, ohne eine Position anzugeben. Ist das nicht gerade entgegen dem Sin von ArrayLists?
Oder was mache ich falsch beim deklarieren bzw. wrappen oder sonst was?


Ich verwende:

Version: Kepler Service Release 2
Build id: 20140224-0627

Irgendwie komme ich bei dieser Sache schon ewig nicht weiter und würde mich über jede Hilfe freuen,

Gruß AS
 
probiere es mal so 😀
Java:
int x=32;
		Integer xEingepackt= new Integer(x);
		ArrayList list=new ArrayList();
		list.add(x);

bzw.
Java:
int x = 32;
		Integer xEingepackt = new Integer(x);
		ArrayList<Integer> list = new ArrayList<Integer>();
		list.add(x);
		list.add(xEingepackt);
 
Zuletzt bearbeitet:
Hallo,

das funktioniert beides auch nicht. Beim ersten kriege ich immer noch den gleichen Fehler. Ich verstehe einfach nicht, was da dran falsch sein könnte.

Beim 2. kommt zwei Fehlermeldungen:

"Syntax error, parameterized types are only available if source level is 1.5 or greater"
"The method add(int, Integer) in the type ArrayList<Integer> is not applicable for the arguments (int)"

Ich verstehe einfach nicht, wieso der compiler sagt, dass für die Methode add sowohl ein Object als auch ein integer benötigt wird, wenn es laut dem Buch nicht der Fall ist?

Viele Grüße,

AS
 
ja, ist es. Sonst würde ja auch ein anderer Fehler beim Compilieren gekommen. Ich habe einfach deinen Code kopiert 🙂
 
aaah, hab den Fehler gefunden. Man das hat gedauert:
Java:
                int x=32;
		Integer xEingepackt= new Integer(x);
		ArrayList list=new ArrayList();
		list.add(xEingepackt);

mass natürlich dann xEingepackt und nicht x verwenden.

Vielen Dank für deine Hilfe. Ich sollte mir wohl trotzdem eine neuere Version von Java zulegen 🙂

Gruß AS
 

Zurück
Oben