Como faço para uma string em vector com outra string

Estou tentando fazer um programa de analise lexica, porem sem umsar o jflex.
Crio uma operação em String, separo as caracteres em charArray e depois passo para um vetor string. Preciso comparar se o valor da string não vai ser um token e sim um numero, entao enquanto ele não for um token ele vai transformar a palavra em um numero int, porém o comparativo da erro ao copilar

package lexicalanalyzer;

import java.io.File;
import java.nio.file.Paths;
import java.util.Scanner;

public class AnaliseLexica {
Scanner scan = new Scanner(System.in);

public static void main(String[] args) {
int receb, op1 = 0, op2 = 0, op3 = 0, analise=0, i=0;
char[] letras = null;  //criei o array para separar operação
String operacao="2*2+3"; //operação em texto
letras = operacao.toCharArray(); //separei a operação em um array
int tamanho = letras.length; //tamanho recebe quantidades de caracteres da palavra
String[] palavra = new String[tamanho]; //vetor do tamanho das palavras da operação
int[] numeros = new int[tamanho]; //vetor para receber numero

 while(i !=tamanho){ //while para passar as variaveis para array
     palavra[i] = "" + letras[i];
     i++;
  }
 int j=0;
 while( j != tamanho){
    while((! palavra[i].equals("*")) || (! palavra[i].equals("+")) || (! palavra[i].equals("-")) || (! palavra[i].equals("/"))){
        numeros[i] = Integer.parseInt(palavra[i]);
        System.out.println(numeros[i]);
        i++;
        }
        if(! palavra[i].equals("*")){
            System.out.println("token multiplicação");
        }
        if(! palavra[i].equals("+")){
            System.out.println("token adição");
        } 
        if(! palavra[i].equals("-")){
            System.out.println("token subtração");
        } 
        if(! palavra[i].equals("/")){
            System.out.println("token divisão");
        } 
j++;
}     
}

}