GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Condição If não está sendo obedecida em meu teste

java
Tags: #<Tag:0x00007fe8f12145a8>

#1

Prezados, estou construindo uma verificação simples que não está sendo atendida como esperava e gostaria que alguém pudesse me ajudar.

boolean variavel1 = false;
string variavel2 = "";

if ((variavel1 == "false") && (variavel2 != "")){
      código...
}else{
     código...
}

Mesmo não obedecendo aos dois critérios está entrando no if, quando que o meu objetivo é que ele caia no else.

Alguém poderia me ajudar onde eu estou errando nas condições?
Obrigado.


#2

Isso é Java mesmo?

Você não deve comparar Strings com boolean. O fato da String conter a palavra “false” não a torna um boolean.

Também não se utiliza == ou != para comparar String com String, já que são objetos. Usa-e equals (ou mesmo equalsIgnoreCase):

boolean variavel1 = false;
String variavel2 = "";

if ( ( ! variavel1 ) && ( ! variavel2.equals("") ) ){
      código...
}else{
     código...
}

Abraço.


#3

Rs…é java sim
É que eu iniciei a pouquíssimo tempo e tenho dúvidas bobas como essas ainda.

Obrigado!


#4
boolean variavel1 = false;
string variavel2 = "";

if (!variavel1 && variavel2.isEmpty()){
      //entra aqui
} else{
     //entra aqui
}