V
Volker
Gast
Ich habe folgendes Problem mit dem Splitten von Strings:
Ich frage mich: Warum??? Das Array 'keyval' besteht doch aus zwei Werten!
Und ein
hilft auch nicht, dann bekomme ich eine Exception bei der if-Abfrage.
Danach habe ich dieses versucht:
aber das führt zur selben Fehlermeldung! Die Funktion split() scheint das zweite Element des Arrays zu entfernen. Nur, warum, und was kann man dagegen tun?
Code:
String line;
String[] keyval = new String[2];
line = "aaaa|bbbb";
keyval = line.split("\\|");
// Das hier funktioniert einwandfrei ...
// keyval[0] ist danach 'aaaa' und
// keyval[1] ist danach 'bbbb'
System.out.println("Key = '" + keyval[0] + "'");
System.out.println("Val = '" + keyval[1] + "'");
// Und das hier funktioniert nicht ... :(
// Es sollte keyval[1] null oder ein Leerstring sein ...
line = "aaaa|";
keyval = line.split("\\|");
// Bis hierhin noch keine Probleme, aber jetzt:
System.out.println("Key = '" + keyval[0] + "'");
// Das gibt ein java.lang.ArrayIndexOutOfBoundsException
System.out.println("Val = '" + keyval[1] + "'");
Ich frage mich: Warum??? Das Array 'keyval' besteht doch aus zwei Werten!
Und ein
Code:
if (keyval[1] == null)
...
hilft auch nicht, dann bekomme ich eine Exception bei der if-Abfrage.
Danach habe ich dieses versucht:
Code:
if (keyval.length < 2)
keyval[1] = ""
aber das führt zur selben Fehlermeldung! Die Funktion split() scheint das zweite Element des Arrays zu entfernen. Nur, warum, und was kann man dagegen tun?