"igual" e "diferente"

8 respostas
L

Alguem tem uma pq esse comando abaixo nao funciona???
e passo essa variável “SIM”, ela esta passando corretamente, pois ja coloquei para mostrar ela antes do comando “if” e ela é exibida normalmente.

public List buscar(String tipo)

{	

if (tipo == SIM)

{

//comandos	

}

}
e esse comando abaixo funciona

if (tipo != NAO)

{

//comandos	

}

mas preciso fazer com q o comando de igualdade funcione.

Abraços

8 Respostas

J

pois são dois objetos diferentes…

para garantir que a comparação será feita da forma que vc quer, use o método equals();

public List buscar(String tipo) {	
    if ( tipo.equals("SIM") ) { 
        //comandos	
    } 
}

não se esqueça de colocar código entre a tag code

[]'s

Roger75

Só vou dizer uma coisa: “equals”.

H

Testei aqui e funcionou. Mas para conparação de Strings é melhor usar o equals ou equalsIgnoreCase.

public List buscar(String tipo){
    if(tipo.equals("SIM")){
       //comandos
    }

public List buscar(String tipo){
    if(tipo.equalsIgnoreCase("SIM")){
       //comandos
    }
}
andre.gil

Não tem um “melhor” ou “pior”, depende do que você quer. O equals vai comparar exatamente o que estiver escrito e o equalsIgnoreCase vai ignorar a diferença entre letras maiúsculas e minúsculas. Por exemplo:

Comparando “Sim” com “SIM”. Se você usar o equals, ele vai falar que não é igual, porque as letras I e M estão em minúsculo no primeiro caso e em maiúsculo no segundo. Agora, se você fizer a mesma comparação com o equalsIgnoreCase, ele vai falar que está igual.

Para esse caso, talvez você até possa usar o equalsIgnoreCase, mas nem sempre é legal ignorar o “case” das strings. :wink:

[]s

L

Perfeito, era isso mesmo que eu estava precisando, valeu muito.

Abraços

Scoobydoo
public List buscar(String tipo){  
    tipo = tipo.toLowerCase();
    if(tipo.equals("sim")){  
       //comandos  
    }  
  
public List buscar(String tipo){  
    tipo = tipo.toLowerCase();
    if(tipo.equalsIgnoreCase("sim")){  
       //comandos  
    }  
}

Mas isso é facil de resolver. Só colocar um toLowerCase();
Geralmente o ignoreCase é bom de ser usado em situações onde o usuário pode deixar o campo em nulo também. Ai o valor padrão seria Não.
É isso

andre.gil

Scoobydoo,

O exemplo que você passou está incorreto. Você pode sim utilizar o .toLowerCase(), seria dessa maneira:

public List buscar(String tipo){  
   tipo = tipo.toLowerCase();
    if(tipo.equals("sim")){  
       //comandos  
    }  
}

Porém, isso não vai inpedir o NullPointerException caso o usuário passe null para o parâmetro “tipo”. A melhor maneira, que não causará nenhum erro caso receba um parâmetro null, acredito que seja:

public List buscar(String tipo){
    if ( "sim".equalsIgnoreCase( tipo ) ) {
       //comandos  
    }  
}

[]'s

Scoobydoo

public List buscar(String tipo){ if (tipo != null && tipo.trim().length()>0){ tipo = tipo.toLowerCase(); if(tipo.equalsIgnoreCase("sim")){ //comandos } }else{ jOptionPane.showmessageDialog(null,"Não deixe o campo Nulo") } }

Pode ser assim tmb.
Só nao lembro se precisa do Trim()

Criado 30 de janeiro de 2010
Ultima resposta 1 de fev. de 2010
Respostas 8
Participantes 6