ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1267
1267
EMPFEHLEN
-
Hallo zusammen,
ich habe ein Textfeld, welches grundsätzlich Daten enthält, die in einem Array gespeichert werden sollen. Also nehme ich mir den String mit textfield.getText() und splitte ihn bei jedem Komma. Dann habe ich ein String[]. Jetzt kann aber der Typ des Arrays in der Datenbank beliebig sein, also Integer[], Boolean[], ... Wie wandel ich jetzt sinnvoll den String[] in die entsprechenden Typen um?
So mache ich das derzeit in die Umwandlung in einen Integer[]:
Code :1 2 3 4 5 6
String valueList = textField.getText(); String []values = valueList.split(","); Integer[] intVals = new Integer[values.length]; for(int i = 0; i < values.length; i++){ intVals[i] = Integer.valueOf(values[i]); }
Muss ich diese Schleife jetzt abhängig vom Typ durchlaufen, damit ich das entsprechende "valueOf()" benutzen kann? Das scheint mir so hässlich :-/Geändert von Copia (22.12.10 um 12:19 Uhr)
-
Hm, sind die Daten denn willkuerlich sortiert? Oder hast du immer die gleiche Reihenfolge zb: int, int, date, varchar
und dann wieder von vorne. Weil irgendwie musst du ja bestimmen, welcher Wert wo in die Datenbank gehoert?Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
Wuah doppelpost sry (loeschen bitte
)
Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
Ok, war wohl ein bisschen unverständlich von mir

In einem Textfeld sollten nur die gleichen Typen stehen. D.h. entweder stehen da nur durch Komma getrennte Integer oder nur Strings, etc.
Die werden dann auch so als Array in der Datenbank in einem Feld gespeichert. Das heißt, das Feld in der Datenbank ist tatsächlich ein varchar[] oder int[]...
Toll wäre es ja, wenn man auf einem Klassenobjekt ValueOf() aufrufen könnte, aber ich finde so eine Methode nicht
Also ich hab einen Class<?> type, in dem dann zB drin steht Integer[].class, aber auf type kann ich kein valueOf() aufrufen
(Wobei... wenn ich jetzt recht überlege, würde das mit dem valueOf auf Integer[].class eh nicht funktionieren, da die einzelnen Werte ja Integer sind und keine Integer[]
)
Noch mal zum Verständnis: Eine mögliche Lösung wäre:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
String valueList = textField.getText(); String []values = valueList.split(","); Object[] vals = null; Class<?> type1 = cellModel.getCellClass(); if(type1 == Integer[].class) { vals = new Integer[values.length]; for(int i = 0; i < values.length; i++){ vals[i] = Integer.valueOf(values[i]); } } else if(type1 == Boolean[].class) { vals = new Boolean[values.length]; for(int i = 0; i < values.length; i++){ vals[i] = Boolean.valueOf(values[i]); } } else [...]Geändert von Copia (22.12.10 um 12:28 Uhr)
Ähnliche Themen
-
CSV-String in Array umwandeln
Von DaRealMC im Forum PHPAntworten: 7Letzter Beitrag: 05.02.10, 14:49 -
ASCII-Code in entsprechendes Zeichen umwandeln
Von FunkyMonkey im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 22.08.07, 20:37 -
String in array umwandeln
Von meiner0815 im Forum PHPAntworten: 2Letzter Beitrag: 23.02.06, 16:29 -
array in string umwandeln
Von gwaan im Forum JavaAntworten: 3Letzter Beitrag: 01.11.05, 12:16 -
String Array in Integer Array umwandeln
Von hankthetank im Forum JavaAntworten: 8Letzter Beitrag: 06.06.05, 10:07





Zitieren
Login





