Integer in Array aus Object

cuchulainn

Mitglied
Hallo alle zusammen,

ich möchte in meinem Programm gerne eine int-Variable in einem Object-Array speichern. Dazu versuche ich, sie in einen Integer umzuwandeln. Folgendermaßen sieht das ganze aus:

Code:
Object[][] tableData = new String[ingredientList.size()][ingredientList.size()];
for (int i = 0; i < ingredientList.size(); i++) {
	tableData[i][0] = new Integer(ingredientList.get(i).getIngredientId());
	tableData[i][1] = ingredientList.get(i).getIngredientName();			
}

Aber das funktioniert nicht. Ich erhalte folgenden Fehler: java.lang.ArrayStoreException: java.lang.Integer

Er erscheint in der ersten Anweisung in der For-Schleife. Die zweite Anweisung - es handelt sich um einen String - funktioniert. Aber ein Integer erbt doch auch von Object. Warum funktioniert das nicht? Habe ich irgend etwas übersehen? Die Werte sind richtig. In dem Integer steht die richtige Zahl.

Viele Grüße,

Christopher
 
Hi,
Das Problem ist, dass du einen Integer nicht einfach als String behandeln kannst, wie du es vielleicht vom Autoboxing kennst. (Du kannst ja auch nicht ein Auto als ein Rohrpostveteilersystem behandeln, auch wenn beide von der Klasse NützlichesDing erben :).)Folgende Anweisung wandeln beide ineinander um:
Java:
//Einen Integer in einen String ...:
String test = String.valueOf(deinInt);
//... und umgekehrt:
int test2 = Integer.parseInt(test);
Ciao
DosCoder
 
Zuletzt bearbeitet:
Du hast ein String array und da kannst du keine Integer reinstecken, da diese nicht voneinander erben.

Wenn du das ganze als Object [] anlegst würde es gehen.
 
Vielen Dank für eure Antworten. Ihr habt recht. Eigentlich sollte dort Object und nicht String stehen. Ich habe keine Ahnung, warum ich das geschrieben habe und vor allem, warum mir das nicht selbst aufgefallen ist, denn ich wollte ja ein Object-Array haben. Manchmal sieht man vor lauter Bäumen den Wald nicht mehr.

Noch mal Danke.

Christopher
 

Neue Beiträge

Zurück