paribe
Agosto 24, 2009, 11:40am
#1
Olá,
como poderia testar se a variavel abaixo está com nulo …
abs
String dataMovimento = req.getParameter("dataMovimento");
if(dataMovimento.trim() != null || !dataMovimento.equals("") ){
sql+= " and m.dta_mvto_caixa >= '"+ dataMovimento +"' ";
sql+= " and m.dta_mvto_caixa <= '"+ dataMovimento +"' ";
}
java.lang.NullPointerException
Você não pode chamar um .trim() em uma referência nula… E mesmo que sua String seja " ", o trim() vai retornar “” e não null.
Modifica o if para if(dataMovimento != null … que vai funcionar.
Obs: Pode deixar a segunda comparação sem se preocupar com o null se continuar usando ||
g4j
Agosto 24, 2009, 11:44am
#3
tá dando nullpointer no .trim() cara. Se a variável dataMovimento é nula não tem como fazer um trim nela.
thingol
Agosto 24, 2009, 11:48am
#4
Crie um método “checarSeVazio” e use-o em vez de ficar sempre copiando e colando o mesmo código. Exemplo:
if (checarSeVazio (dataMovimento)) {
...
...
public static boolean checarSeVazio (String s) {
return s != null && !s.trim().equals ("");
}
edmarr
Agosto 24, 2009, 4:15pm
#5
Bom vc nao precisa criar um método para chegar se esta vazio ou nao , pode fazer isto na propia validação da estrutura de controle .
String dataMovimento = req.getParameter("dataMovimento"");
if((dataMovimento != null) && (!"".equals(dataMovimento)) ){
sql+= " and m.dta_mvto_caixa >= '"+ dataMovimento +"' ";
sql+= " and m.dta_mvto_caixa <= '"+ dataMovimento +"' ";
}
}
Lembrando uma String eh Imutável, tente utilizar StringBuffer ou StringBuilder . Se vc nao estiver trabalhando com treads eh usando JDK 5 Utilize StringBuilder por ser mais rápida.
Só pra lembrar o projeto da Apache, Commons-Lang
tem uma classe chamada StringUtils
StringUtils.isEmpty(null); //retorna true
StringUtils.isEmpty(""); //retorna true
StringUtils.isEmpty("abc"); //retorna false
Existe também o isNotEmpty
Diversos metodos para auxiliar, não tem por que reescrever a roda
[]'s