• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Is the StringTokenizer class ever better than the split() method of String?

 
Kaydell Leavitt
Ranch Hand
Posts: 689
Eclipse IDE Firefox Browser Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can the StringTokenizer class do more than the split() method of the String class?

Kaydell
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24208
35
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
No, the opposite, really. Regular expressions -- which didn't exist in Java when StringTokenizer was designed -- are more powerful than the kind of character-based tokenizing that StringTokenizer does.
 
Jim Yingst
Wanderer
Sheriff
Posts: 18671
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There are a few possible advantages to using StringTokenizer, but they're pretty feeble compared to the advanages of split(), I think. One is that StringTokenizer may be simpler to understand for a programmer who doesn't understand regular expressions. At least, if the delimiter includes any special characters like |. But StringTokenizer is still often misunderstood, espeically the fact that it considers only single-character delimiters.

Another feature is that StringTokenizer can return the delimiters as well as the tokens, if you use the appropriate constructor. I don't think I've ever seen a need for this feature, but apparently someone did, once.

And lastly, a StringTokenizer can change delimiters as you go. The split() method definitely can't do that. However, if you have a use for this, then Scanner can do the same thing, and has many more powerful features than StringTokenizer does.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic