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.
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)