For e variáveis Null

3 respostas
rafael.luc

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?

3 Respostas

carlos.e.a

Use objetos Boolean e verifique se sao null...Simples. Faça primeiro a verificacao de null e depois pegue o valor.

Boolean a;

if(a != null){
    System.out.print(a);
}
rafael.luc

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.

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++;

        	 	    	       }
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?

carlos.e.a

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.

Criado 24 de dezembro de 2011
Ultima resposta 25 de dez. de 2011
Respostas 3
Participantes 2