PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: Arraylist will nicht.


ooAlbert
2008-03-06, 15:12:19
Hi,

ich bin dabei eine arraylist zu bearbeiten und hab für den index folgendes gestrickt:


ArrayList CSV = new ArrayList();
String element = CSV.get(CSV.size()-1);

Jetzt will der Compiler mir das nicht ausführen weil er meint die typen passen nicht zueinander ...

Sinn war das ich den Inhalt das letze Element der Arraylist bekomme.

Wie würde es denn anders gehen?

Baalzamon
2008-03-06, 15:25:31
Entweder du castest das Element von CSV.get explizit auf String oder, was wohl sinnvoller wäre, du benutzt ArrayList direkt vom Typ String. Code ohne Gewähr, da ich es gerade nicht etsten kann und mein java inzwsichen ein bisschen eingerostet ist:

ArrayList<String> CSV = new ArrayList<String>();
String element = CSV.get(CSV.size()-1);

So sollte man es machen, aber das hier sollte auch gehen, ist aber unschön und unsicher und jeder wird dir dafür auf den Kopf hauen. ;)

String element = (String) CSV.get(CSV.size()-1);

Wanginator
2008-03-06, 15:26:54
Deine ArrayList ist raw, also nicht generisch typisiert.

Versuch entweder einen Cast:
ArrayList CSV = new ArrayList();
String element = (String) CSV.get(CSV.size()-1);

oder falls > Java 5, dann Generizität:
ArrayList<String> CSV = new ArrayList<String>();
String element = CSV.get(CSV.size()-1);

Ectoplasma
2008-03-06, 16:46:25
Das kann man noch ein wenig generischer schreiben:


List<String> CSV = new ArrayList<String>();