Problemas com if

Gente, estou com um problema um tanto quanto idiota. Talvez a solução seja super simples e eu simplesmente não consigo ver.
A questão é que no meu código tenho:
private void Menu1(String opcao) {
if (opcao == “1”) { faz qualquer coisa; }
}
ele é chamado a partir de Menu1(texto_digitado)
texto_digitado é uma variavel que criei.
A questão é que a condição ai em cima NUNCA dá verdadeira.
ps:
texto_digitado = jTextField1.getText();
Nãoi tenho a menor idéia de pq não consigo fazer essa condição
Se alguém tiver uma luz, eu agradeço.

Abraços a todos,

Andre Luiz

o == nao eh o comparador de igualdade de strings do java… no java, para comparar o conteudo de strings, vc devbe usar o metodo compareTo (procure sobre ele na API)

vc deveria fazer entao:

 if (opcao.compareTo("1") == 0) { faz qualquer coisa; } 

o ==, no caso de objetos (e nao tipos promitivos), compara as referencias… entao, no q vc fez, ele testa se a referencia a tring opcao eh a mesma referencia da string “1”, e isso eh sempre falso (mesmo q opcao tem valor “1”, as duas coisas nao sao a mesma referencia na memoria)

compareTo() == 0 eh bobagem, se vc pode usar equals() :wink:

Concordo com cv que equals() deixa seu código mais fácil pra entender se você só precisa saber se os Strings são iguais.

Sou um grande fã de código que é tão fácil ler como um texto inglês.

(minha assinatura excluído)

Mas de todo resto, sergiousp tem razão.

-Sami