Comparar palavra reservada

Tenho um for que percorre todos os tokens do texto, e se achar a palavra “String”, verifica se a próxima palavra não é vazia, mas eu precisaria compara também se a próxima palavra não é uma palavra reservada.

Segue o código:

for(i = 0; i <= pos-1; i++)// percorre token por token até acabar o texto
        {      
        	if(token[i].equals("String"))// compara se o token é "String"
            {
              	   if(token[i+1] != null)// se o próximo caracter for diferente de vazio, aqui eu também precisaria comparar se o token[i+1] é diferente de todas as palavras reservadas
                   {
                
                   }
            }
       }

Use um Set para checar se uma palavra é reservada ou não.

Exemplo:

Set<String> reservadas = new HashSet<String>();
reservadas.add ("if");
reservadas.add ("while");
...
reservadas.add ("class");
...

String palavra = "while";
if (reservadas.contains (palavra))
    System.out.println ("A palavra-chave " + palavra + " é reservada");
else
    System.out.println ("A palavra  " + palavra + " não é reservada");

E usando um outro vetor ja definido, não tem como?

variaveis[] = {"String","int","char"},

Nesse caso voce tem que implementar um contains para Arrays.

Dica: aprenda a usar o HashSet. Quando você está escrevendo programas e precisa criar uma tabela de símbolos (ou seja, guardar identificadores novos), o HashSet é excelente para você criar essa tal tabela.

Ele também é excelente para conter a sua lista de palavras reservadas.