String.split() ou StringTokenizer?

1 resposta
drigo.angelo

Galera, é o seguinte

Estava pesquisando sobre esses dois métodos de tokenização de Strings da API do Java e fiquei meio intrigado, pois tem gente que defende o StringTokenizer, que, apesar de ser mais velho e “engessado” ainda é mais performático. Outros (o que inclui a própria Sun) recomendam evitar o uso do StringTokenizer, e substituir pelo método split() da classe String, e eu não sei qual usar :?

A resposta mais óbvia seria o método split, visto que até na documentação da StringTokenizer há uma sugestão para utilizar o método split no lugar, mas eu ainda não vi tantos problemas com o StrinTokenizer (se bem que ainda não tive que dar manutenção em um código que o utiliza, o que deve pesar bastante rrsrsrs) e se o método split é tão recomendado, por que eles não o otimizaram para realmente ficar melhor que o StringTokenizer :?:

Vejam o que encontrei:

http://www.javamex.com/tutorials/regular_expressions/splitting_tokenisation_performance.shtml

[edit]
Esse site ainda recomenda o split “compilado”, do tipo

Pattern p = Pattern.compile("\\s+");
...
String[] toks = p.split(str);

[/edit]

1 Resposta

R

kra a diferença de performance eh pequena… isso não faz tanta diferença

Obs: como os dois fazem a mesma coisa, eu uso o StringTokenizer somente qndo manipulo arquivos e uso o split quando manipulo frases e palavras em geral… mas isso eh bem pessoal… =)

Criado 14 de janeiro de 2011
Ultima resposta 16 de jan. de 2011
Respostas 1
Participantes 2