Como saber se o array é nulo ou vazio
15/10/2011
Pessoal, preciso de uma ajuda.
Uso o código abaixo para fazer atualização dos dados vindos de uma tabela com diversos ids, ou seja tenho um campo na tabela com um checkbox(id) e quando eleciono envio os dados dos outrso campos para atualização.
O problema está quando um dos campos está com o valor vazio ou nulo, sempre acontece um exception.
Não sei como verificar se o array está vazio ou nulo antes de entrar na clausula FOR.
String[] nome = (String[]) request.getParameterMap().get("name"+id);
Alguém pode me auxiliar com isso?
for (String id : request.getParameterValues("id")){ //Aqui vai vir os ids numa lista
String[] nome = (String[]) request.getParameterMap().get("name"+id);
for (String nome1 : nome) {
out.println(nome1);
Conexao.stm.executeUpdate("UPDATE usuarios SET nome='"+nome1+"' where id ='"+id+"'");
}
String[] address = (String[]) request.getParameterMap().get("address"+id);
for (String end : address) {
out.println(end);
Conexao.stm.executeUpdate("UPDATE usuarios SET end='"+end+"' where id ='"+id+"'");
}
}
Obrigado
Marcos
[quote="Marcos_rhs"]Pessoal, preciso de uma ajuda.
Uso o código abaixo para fazer atualização dos dados vindos de uma tabela com diversos ids, ou seja tenho um campo na tabela com um checkbox(id) e quando eleciono envio os dados dos outrso campos para atualização.
O problema está quando um dos campos está com o valor vazio ou nulo, sempre acontece um exception.
Não sei como verificar se o array está vazio ou nulo antes de entrar na clausula FOR.
[b]String[] nome = (String[]) request.getParameterMap().get("name"+id); [/b]
Alguém pode me auxiliar com isso?
for (String id : request.getParameterValues("id")){ //Aqui vai vir os ids numa lista
String[] nome = (String[]) request.getParameterMap().get("name"+id);
for (String nome1 : nome) {
out.println(nome1);
Conexao.stm.executeUpdate("UPDATE usuarios SET nome='"+nome1+"' where id ='"+id+"'");
}
String[] address = (String[]) request.getParameterMap().get("address"+id);
for (String end : address) {
out.println(end);
Conexao.stm.executeUpdate("UPDATE usuarios SET end='"+end+"' where id ='"+id+"'");
}
}
Obrigado
Marcos
Agora não sei o que é para testar:
1) o problema: testar se é um campo (qual?) - "um dos campos está com o valor vazio ou nulo"; ou
2) o que você quer saber: testar um dos arrays (qual?) - "o array está vazio ou nulo"
de modo geral
1)
String campo = ...
if (campo == null) {
// é nulo
}
if (campo.isEmpty) { // só funciona se não nulo
// é vazio
}
// ou o contrário e junto
if (campo != null && !campo.isEmpty()) {
// nem nulo nem vazio
}
2)
String[] array = ...
if (array == null) {
// é nulo
}
if (array.length == 0) {
// vazio
}
// ou o contrário e junto
if (array != null && array.length > 0) {
// nem nulo nem vazio
}
(para o FOR normalmente é suficiente testar se não é nulo - se estiver vazio o FOR simplesmente não faz nada)
[[]]