If não funciona

4 respostas
101574

Estou fazendo uma listagem, e preciso pegar somente alguns dados.

Estou tentando fazer com if, mas está dando erro. Olha só como está.

for (Item item : dao2.listaTudo()) {
					if(orcamento.getId() == item.getOrcamento().getId()){
					    StringBuilder builder = new StringBuilder();  
					    builder.append("<p> Produto: "+ item.getProdutoEmpresa().getProduto().getNome() + "</p>");  
					    builder.append("<p> Preço: "+ item.getPreco_unit() + "</p>");  
					    builder.append(msg2 += "<p> Empresa: "+ item.getProdutoEmpresa().getEmpresa().getFantasia() + "</p>");  
					    msg2 =(builder.toString());
					}
					
				
				}

O erro.

br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: java.lang.NullPointerException

br.com.softsol.compresempre.controller.OrcamentoController.finalizar(OrcamentoController.java:105)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)

Linha 105

if(orcamento.getId() == item.getOrcamento().getId()){

Valeu!

4 Respostas

Rodrigo_Sasaki

Cara, o erro é muito simples, alguém aí nessa linha está nulo. Existem 3 possibilidades:

1 - orcamento
2 - item
3 - item.getOrcamento()

101574

Ok!
Vou testar. Valeu!

E

Provavelmente item.getOrcamento() está retornando null, portanto ele está quebrando com NullPointerException em item.getOrcamento().getId()

A propósito, getId() retorna uma String? Se retornar uma String, então você não pode comparar com “==” e sim com equals.

Seria algo como:

...
if (item.getOrcamento() != null && orcamento.getId().equals (item.getOrcamento().getId())) 
...
101574

Cara, no banco, tinha uma linha salva como null.

Arrumei e funcionou.

entanglement,

Valeu! Mas não era esse o problema. To ligado na questão do equals e do ==.

T+

Criado 29 de novembro de 2012
Ultima resposta 29 de nov. de 2012
Respostas 4
Participantes 3