Estou querendo listar grupos de 8 em 8 de um banco de dados, para fazer isso usei um FOR contando ate 8. Porem não sei quantos dados tem no Banco de dados o que daria erro ao tentar listar variáveis sem conteúdo Null.
Essas variáveis são do tipo Boolean, como eu verifico o conteúdo das variáveis?
Use objetos Boolean e verifique se sao null…Simples. Faça primeiro a verificacao de null e depois pegue o valor.
[code]Boolean a;
if(a != null){
System.out.print(a);
}
[/code]
O boolean não aceita null, segundo que eu li por é default False, mas deu erro ao listar o que não estivesse no Vetor.
Resolvi com um For Each, eu tenho dois dados do banco de dados, INT “id” e Boolean “valor”, a cada 8 Ids um grupo e formato.
[code]
int Id = getIdBancoDados();
boolean valor [] = getValorBancoDados();
int cont = 1;
while (id > 7){
cont = cont + 1; // Grupo
id = id - 8;
}
int j = 8 * (cont - 1);
int x = 8 + j;
int i = 0;
for( boolean s : valor ){
if (i >= j && i < x){ //Somente executa a diferença entre um grupo Ex: 0 - 7, 8 -16, 17 - 25....etc
System.out.println(s);// Teste
}
i++;
}[/code]
Existe uma melhor solução do que fiz acima?
Meu “id” começa em 1 (inserido pelo usuário), mas qual posição sera salvo do banco de dados, seria como vetor que começa com endereço/posição 0?
Objetos Boolean como qualquer outro objeto aceitam SIM nulo amigo. Tipos primitivos boolean é que nao aceitam.
Existe uma solucao melhor que foi a que falei acima.
Variaveis de instancia do tipo Boolean sao inicializadas com false mas voce pode atribuir null normalmente. Variaveis locais, como de qualquer outro objeto, nao sao inicializadas, ou seja, são nulo.