ArrayList, erro provavelmente besta

oi pessoal… to tentando cria aqui algo parecido comum tradutor, um compilador (ou parte dele)

pretendo usa-lo no meu tcc, que to começando, e tem uma linha aqui que não consigo acha como que resolve o erro…

ta dando erro nessa linha:

if (token.equals(palavras[i])){

o erro é:

[list]
C:\Documents and Settings\Administrador\TCC\src\BancoPalavrasReservadas.java:20: array required, but java.util.ArrayList<java.lang.String> found
if (token.equals(palavras[i])){
Note: C:\Documents and Settings\Administrador\TCC\src\BancoPalavrasReservadas.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
FALHA NA EXECUÇÃO (tempo total: 1 segundo)
[/list]

segue o codigo:


import java.util.ArrayList;
import javax.swing.JOptionPane;
public class BancoPalavrasReservadas {
    public ArrayList<String> palavras = new ArrayList();
    
    public BancoPalavrasReservadas() {
    }//vazio, nenhuma linha de codigo dentro
    
    public static void main(String args[]){
        BancoPalavrasReservadas obj=new BancoPalavrasReservadas();
        
        String palavra=JOptionPane.showInputDialog("digite a palavra a ser verificada");
        obj.inclui(palavra);
        obj.verifica(palavra);
    }
    public boolean verifica(String token){
        boolean resultado=false;
        
        for (int i=0;i<palavras.size();i++){
            if (token.equals(palavras[i])){
                resultado=true;
            }
        }
        return resultado;
    }
    public void inclui(String token){
        palavras.add("palavra1");
        palavras.add("palavra2");
        palavras.add("palavra3");
    }
}

alguem ai pode me ajuda?? fala como que resolve?

palavras é um ArrayList e não um array de Strings. Substitua isso:

if (token.equals(palavras[i]))

Por isso:

if (token.equals(palavras.get(i)))

Vê se resolve. Flw! :thumbup:

ow kra pode cre…

eu tinha eskecido do metodo get… falha minha…

brigadao a ajuda ae…deu certo… flw

Eu em particular acho que o Java deveria ter um suportezinho a usar “[]” em vez de “get” para a interface java.util.List. Não é preciso ter “operator overloading” como no C++ - complicado demais. Era só ter um caso especial (assim como o tipo String tem um caso especial com o operador “+”.)