tenho uma string tenho um
if (login != null && !login.equals("") && login != “” ){
}
soh que se eu coloca nessa string que eh um campo de formulario um espaço em branco o if vai retornar true
como faço pra ve se ele soh contem espaços em branco
if (palavra.trim().isEmpty())
// vazia
Algumas sugestões:
1 - Use a classe “org.apache.commons.lang.StringUtils”, ela contem esse e diversos métodos Auxiliares para a utilização em Strings, e vai lhe poupar muito trabalho.
2 - Se escolher implementar “Na Mão”, sugiro que vc de uma olhada em expressões regulares, masi especificamente no método “matches” da Classe String. Usar expressões regulares é uma técnica extremamente útil.
3 - O exemplo de nosso amigo Bruno
[]s
if(suavariavelaqui.trim().equals(""))
.trim() -> retira todos os espaços
.equals("") -> verifica se é igual a string informada
se vc retirar todos os espaços e comparar com uma string vazia vc confere se ela esta vazia
não sei se tem muita diferença co codigo acima, eu sempre usei dessa maneira e sempre funcionou
espero ter ajudado
Fica mais fácil assim:
[code]if (login == null || login.trim().isEmpty()){
//Erro. Login vazio
return;
}
//Código aqui.[/code]
[quote=thiagofelipe]if(suavariavelaqui.trim().equals(""))
.trim() -> retira todos os espaços
.equals("") -> verifica se é igual a string informada
se vc retirar todos os espaços e comparar com uma string vazia vc confere se ela esta vazia
não sei se tem muita diferença co codigo acima, eu sempre usei dessa maneira e sempre funcionou
[/quote]
A diferença é que vc criou um objeto string vazia à toa. além disso utilizou o método equals.
A string estar vazia, ou,não é uma propriedade dela mesma, por isso devem ser usados métodos que sejam apenas dela
o trim é para retirar os espaços. repare que .trim().isEmpty() é mais semantico pq se lê "depois de tirar todos os espaços do fim e do principio da string, ela é vazia? "
o seu se lê "“depois de tirar todos os espaços do fim e do principio da string ela é equivalente a uma string sem texto ?”