Comparação de duas Strings com if

5 respostas
F

Boa tarde.

Estou tendo problemas em comparar duas Strings no if.

se nego a comparação sempre roda... é uma verificação de senha para rodar um programa externo... coloquei umas janelas para ver se bate as strings, e bate mas não roda... se nego SÓ roda....

será que alguém vê uma luz?

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
        
        String gabarito = "senha";
        String texto = senha.getText(); //senha é um campo de senha
        JOptionPane.showMessageDialog(null,"Variável TEXTO :" + texto);
        JOptionPane.showMessageDialog(null,"Variável GABARITO :" + gabarito);
        if (gabarito == texto){
            JOptionPane.showMessageDialog(null,"IF IGUALADO");
            try {
                Runtime.getRuntime().exec("c:/cop-voco/cop-voco.exe");
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            
        }
        else {
            JOptionPane.showMessageDialog(null,"SENHA INCORRETA!");
        }
    }//GEN-LAST:event_jButton1ActionPerformed

problema tosco mas não vi onde está errado....

obrigado pela atenção de todos!

5 Respostas

W

opa, blz?

quando vc compara dois objetos usando o operador ==, vc esta na verdade comparando o conteudo das variaveis de referencia desse objeto, para comparar o valor das String vc tem q usar o metodo .equals()

F

Mas então…

Eu queria comparar se o que foi digitado na caixa de password é o mesmo do que o conteúdo da variável gabarito:

String gabarito = "senha";
F

E ae,

Isso que você quer testar tem quer ser feito com o metodo equals() como disse o Wollokow.

Faça isso da seguinte forma:

Ao invés de fazer

if(gabarito == texto)

Você faz

if(gabarito.equals(texto))

Tente isso que provavelmente dará certo.

F

Valeu galera!
Sempre aprendo mais uma aqui!

F

Se não quiser se preocupar com letras maiusculas ou minusculas use:

if(gabarito.equalsIgnoreCase(texto))
Criado 25 de maio de 2006
Ultima resposta 26 de mai. de 2006
Respostas 5
Participantes 4