Criando um StringTokenizer para J2ME

Neste artigo será apresentada uma opção à ausência da classe StringTokenizer no J2ME.

<wordtidy>
   Uma classe muito utilizada por desenvolvedores Java no tratamento de Strings é a StringTokenizer.
    Se você já teve algum contato além do "Hello World" com o J2ME é provável que tenha sentido falta dessa classe na hora de tratar suas Strings. Tudo bem, não há porque se desesperar, basta utilizar o método split(String regex) da classe String.
    Mas será grande sua decepção ao notar que este método também não está disponível no J2ME.
   Não queremos reinventar a roda, mas nesse caso vamos precisar implementar nosso próprio StringTokenizer. Não é uma tarefa traumatizante, porém se você não quer perder algum tempo implementando essa classe, segue uma implementação básica, porém funcional, de uma classe com funções semelhantes às funções mais utilizadas da classe StringTokenizer.
   Cabe ai ressaltar uma diferença desta implementação para a classe StringTokenizer. A classe StringTokenizer recebe como parâmetros a String e uma String como delimitador, enquanto a implementação apresentada recebe a String e um char como delimitador.
 
public class Tokenizer {
     
      private String string, temporaria;
      private char delimitador;
      int posicaoAtual;
     
      public Tokenizer (String string, char delimitador){
            this.string = string;
            this.delimitador = delimitador;
            this.posicaoAtual = 0;
      }
     
      public String nextToken (){
           
            boolean chegou = false;
            temporaria = "";
           
            while (chegou == false && posicaoAtual < string.length()){
                  if (string.charAt(posicaoAtual) == delimitador){
                        chegou = true;
                        posicaoAtual++;
                  } else {
                        temporaria += string.charAt(posicaoAtual);
                        posicaoAtual++;
                  }
            }
           
            return temporaria;
      }
     
      public boolean hasMoreChars (){
            if (posicaoAtual <= string.length()-1){
                  return true;
            }
            return false;
      }
 
}
                Espero ter ajudado alguns iniciantes no mundo do J2ME
                Até a próxima.
</wordtidy>

Artigos relacionados