Estou tentando setar um bean usando array mas esta dando NullPointerException. Alguém pode me ajudar?
ProdutoDTOprodutoDTO=null;produtoDTO=newProdutoDTO();produtoDTO.getTipoFiscalProdutoDTO()[0].setCodPessoaDetalhe(1L);//<-aqui da o NullPointerException
Vc não inicializou o tipoFiscalDoProduto em sua classe. Inicialize ele no construtor. Além do que, tem que ver a sua regra de negócio, se por acaso esse vetor puder ser nulo, vc vai ter que ver testar isso antes de usá-lo…
public ProdutoDTO()
{
tipoFiscalProdutoDTO = new tipoFiscalProdutoDTO[];
}
Depende de sua regra de negócio. Se nela o ProdutoDTO deve possuir ao menos um tipoFiscalProdutoDTO, eu inicializaria assim:
public ProdutoDTO(TipoFiscalProdutoDTO tipoFiscal)
{
//aqui eu colocaria o número maximo
//de tiposFiscais. Caso não saiba o numero, troque por uma Collection, como List
tipoFiscalProdutoDTO = new tipoFiscalProdutoDTO[10];
tipoFiscalProdutoDTO[0]=tipoFiscal;
}
Também teria que fazer uns método para adicionar os tipos fiscais...
renzonuccitelli
Deu problema pq vc não colocou o o núemro de elementos do vetor ao iniciá-lo…
jason_bourne
Ainda assim da o NullPointerException…eu coloquei dessa forma:
Porque o array está vazio. Não tem nada na posição zero.
jason_bourne
Ueh…quando eu dou um new ele já não cria pra mim??
renzonuccitelli
Não, vc tem que criar um a um, ou pelo menos passar referencias…
jason_bourne
Como faço isso?
renzonuccitelli
public ProdutoDTO()
{
tipoFiscalProdutoDTO = new TipoFiscalProdutoDTO[2];
tipoFiscalProdutoDTO[0] = new TipoFiscalProdutoDTO();
tipoFiscalProdutoDTO[1] = new TipoFiscalProdutoDTO();
}
pode ser desse jeito, ou vc poderia criar um laço para criar todos, ou vc poderia passar referencias para cada um dos elementos, ou vc poderia passar logo um vetor inteiro…