PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String-Tokenizer frage bei Java...



Lin728
10-08-2002, 17:28
Moin!

Verstehe die Funktion des stringTokenizers nicht ganz:

StringTokenizer st = new StringTokenizer("Hallo -- Hello oo", " -- ");
st.countTokens();

Leider countet er mir immer, ich hätte 3 tokens (statt 2), aber ich habe doch " -- " als Trennstring angegeben?! JDK-Bug isses keiner, sogar der native-complier gcj "sagt" mir das selbe ;-(


Hoffe ihr könnt mir helfen,
Mfg

anda_skoa
10-08-2002, 18:05
Hab es ausprobiert und es ist wie du sagst.

Darauf hin hab ich mir die Docu zu StringTokenizer nochmal genau angeschaut:



All characters in the delim argument are the delimiters for separating tokens


D.h. jedes einzelne Zeichen im delimiter String wird als Trennzeichen benutzt. In deinem Fall " " und "-"

Darum auch drei Tokens:
"Hallo"
"Hello"
"oo"

Ciao,
_

Lin728
10-08-2002, 18:10
Wow, danke anda_skoa!

Mfg

anda_skoa
10-08-2002, 18:17
Keine Ursache :)

Hatte den Tokenizer selber schon mal in Verwendung, aber das hab ich auch nicht gewußt.

Die API ist meiner Meinung nach auch nicht gut gewählt.
Wenn man da nur die Methodenzusammenfassung ansieht, erhält man einen falschen Eindruck.

Und so häufig wird man auch nicht mehr als ein Trennzeichen brauchen, eher schon einen Trennstring.
Man hätte ja auch ein char[] für mehrere , einzelne Trenner nehmen können.

So wie die API jetzt ist, bettelt das förmlich nach Fehlern.

Ciao,
_

Lin728
10-08-2002, 22:56
Hab ich mir auch gedacht

Warum sollte man bitte einen String übergeben können?!