Pessoal, alguém aqui já teve um problema parecido… tipo…
quando usa .equals(""); durante a execução, a aplicação gera um erro… e você deve
alterar essa comparação pra == null ?
alguém sabe me dizer por que isso acontece?
[quote=wilsontads]Pessoal, alguém aqui já teve um problema parecido… tipo…
quando usa .equals(""); durante a execução, a aplicação gera um erro… e você deve
alterar essa comparação pra == null ?
alguém sabe me dizer por que isso acontece?[/quote]
Sim, quando a string que acessa o método equals é nula, com certeza gera errro
Antes do equals, faça algo assim:
if(null != suaString) {
suaString.equals("outraString");
}
Abraços amigo!
Cola a descrição do erro para nós!
E, não, não se deve trocar o “equals” por “== null”, olhe o seguinte exemplo
[code]String s = new String("");
if(s.equals("")){
//retornaria true;
}
if(s == null){
//retornaria false;
}[/code]
Por isso muita gente faz:
"".equals(string);
No lugar de
string.equals("");
Aliás, no java 6, já existe o método isEmpty():
string.isEmpty()
Note que uma String vazia é diferente de não ter string nenhuma (null). O null indica que nenhuma string nunca foi fornecida. O vazio indica que tem uma string lá, mas não há texto nenhum dentro dela.
Poisé… durante a etapa de implementação eu estava fazendo um if(getNome.equals("")).
enquanto eu fazia os testes tava tudo ok… só que, depois que conclui e fui fazer a distribuição da aplicação…
tava me retornando uma mensagem de NullPointerException… foi só eu trocar o .equals por if (getnome == null),
que a exceção saiu ;S
[quote=wilsontads]Poisé… durante a etapa de implementação eu estava fazendo um if(getNome.equals("")).
enquanto eu fazia os testes tava tudo ok… só que, depois que conclui e fui fazer a distribuição da aplicação…
tava me retornando uma mensagem de NullPointerException… foi só eu trocar o .equals por if (getnome == null),
que a exceção saiu ;S[/quote]
Exatamente.
Por isso o amigo entendeu errado quando eu disse do “== null”. Não se trata de substituir o equals da String por ==. Todos sabemos, ou devemos saber, que uma String se compara utilizando-se o equals. Acontece, que como você comentou que havia erro, foi fácil deduzir que estava tendo um NullPointerException e que isso se resolveria da forma como comentei.
Fique atento ao que o Viny disse acima.
Eu costuma usar comparação da seguinte forma:
if(null != minhaString && !minhaString.trim().isEmpty()) {
// Não possui referência nula e não é vazia
// trim() remove espaços em branco na frente e atrás de uma String, portanto, se houver uma " " assim, ele considera ela vazia.
// Faz sua lógica
Certo?
Abraços.
Eu acredito que esse problema possa ser solucionado também, se no momento em que eu crio a variavel,
eu setar ela com uma string vazia… acontece que eu criei essa variavel na minha aplicação apenas da seguinte forma…
String nome;
penso que se criar ela String nome="";
eu possa fazer a comparação tranquilo, com o .equals("");
[quote=wilsontads]Eu acredito que esse problema possa ser solucionado também, se no momento em que eu crio a variavel,
eu setar ela com uma string vazia… acontece que eu criei essa variavel na minha aplicação apenas da seguinte forma…
String nome;
penso que se criar ela String nome="";
eu possa fazer a comparação tranquilo, com o .equals("");[/quote]
Sem dúvidas algumas.
Mas como está utilizando o JDK 1.6 recomendo o uso do método isEmpty().
Abraços.