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.
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.
[]s
L
lmdesenvolvimento
Perfeito, era isso mesmo que eu estava precisando, valeu muito.
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:
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 (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()