Como pode?

3 respostas
T

Escrevi este código e o resultado é sempre o mesmo: false. Mesmo digitando moises (em um campo JTextField) não satisfaz a condição!
por favor, conto com suas explanações.

class acao implements ActionListener{

public void actionPerformed(ActionEvent event){

String log = login.getText();

String corr = moises;
if(login.getText().toString() == corr.toString()){
         JOptionPane.showMessageDialog(null, "Correct Data!");
   }else{
         JOptionPane.showMessageDialog(null, "Incorrect Data!");
   }
			
}

}

3 Respostas

E

“Thought”:

if(login.getText().toString() == corr.toString()){

Utilize o método equals() p/ comparar String, veja:

... if(login.getText().equals(corr){ ...

M

troque essa linha:

if(login.getText().toString() == corr.toString()){

por:

if(login.getText().toString().equals( corr.toString())){
M

só completando…

== é usado para comparar valores de tipos primitivos (int char,long,double)

já em objetos utilizamos .equals()

como string é um objeto o ideal é vc usar .equals()

ps: usando == para comparar objetos vc estará perguntando se os dois são o mesmo objeto…

me corrijam se estiver errado =)

Criado 13 de abril de 2005
Ultima resposta 14 de abr. de 2005
Respostas 3
Participantes 4