[Java - Netbeans] Operador de igualdade não funciona

7 respostas
java
VinyciusCS

Olá, fiz um sistema de verificar a versão que o usuário está utilizando do programa e a versão mais recente, ele verifica no banco de dados e seta em uma String, depois faz uma comparação pra ver se a versão atual e a versão recente são iguais, se não forem ele “manda” um “Jop” que avisa que tem uma nova versão disponível, segue a parte da comparação:

if(this.getVersaoatual().equalsIgnoreCase(this.getVersaorecente())){
        JOptionPane.showMessageDialog(null, "Uma nova versão do programa está disponível!");
    }

Já utilizei o “!=” e também não funcionou, ele sempre aparece que tem uma versão disponível, mesmo as variáveis estando diferentes.

OBS:
this.getVersaoatual = 0.0.1
this.getVersaorecente = 0.0.1
Já fiz os testes e as duas variáveis apresentam o mesmo valor, no banco de dados é do tipo VARCHAR e no programa as variáveis são do tipo STRING!

7 Respostas

staroski

O que é apresentado quando você executa o seguinte código?

System.out.printf("Atual:   \"%s\"%nRecente: \"%s\"%n", getVersaoatual(), getVersaorecente());
I

Não há um espaço extra em uma das Strings? Experimente usar o método trim().

VinyciusCS

Não aparece nada, apenas “0.0.1”.

VinyciusCS

Não há espaços, como utilizo o método trim()?

I

Chamando assim:

if(this.getVersaoatual().trim().equalsIgnoreCase(this.getVersaorecente().trim())){
        JOptionPane.showMessageDialog(null, "Uma nova versão do programa está disponível!");
}

mas sem certeza que não tem espaço vazios, então não faz sentido usar. Então só para desencargo de consciência, teste usando o método length() para verificar o tamanho de cada String.

staroski

Então não executou o printf exatamente igual eu postei

staroski

Na verdade seu código apresenta o JOptionPane se as duas versões forem iguais.
Para testar se são diferentes, seria assim:

if (!this.getVersaoatual().equalsIgnoreCase(this.getVersaorecente())) {
    JOptionPane.showMessageDialog(null, "Uma nova versão do programa está disponível!");
}
Criado 29 de outubro de 2019
Ultima resposta 29 de out. de 2019
Respostas 7
Participantes 3