"igual" e "diferente"

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

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

Só vou dizer uma coisa: “equals”.

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

[code]public List buscar(String tipo){
if(tipo.equals(“SIM”)){
//comandos
}

public List buscar(String tipo){
if(tipo.equalsIgnoreCase(“SIM”)){
//comandos
}
}
[/code]

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

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

Abraços

[code]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
}
} [/code]

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

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

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()