Java.lang.ClassCastException:

6 respostas
E
private void ordenaTotalizaLogsPagamentos(List<PagamentoCodigoBarras>logPagConsultados)
   {
	   
	   Map<String, Map<DomTipRcl, Collection<PagamentoCodigoBarras>>> agrupamento = new TreeMap<String, Map<DomTipRcl, Collection<PagamentoCodigoBarras>>>();
	   
	   //estrutura para a criação do agrupamento das movimentações financeiras por datas e terminais
	   for (PagamentoCodigoBarras log : logPagConsultados)
	      {  
                  [b]No primeiro looping ele passa normalmente mas no segundo ele lança exception[/b]
	         Map<DomTipRcl, Collection<PagamentoCodigoBarras>> mapaTerminal =               agrupamento.get(log.getLogTerCodBlk());

	         if (mapaTerminal == null)
	         {
	            mapaTerminal = new TreeMap<DomTipRcl, Collection<PagamentoCodigoBarras>>();
	            agrupamento.put(log.getLogTerCodBlk(), mapaTerminal);
	         }
	         
	        
	         Collection<PagamentoCodigoBarras> tipoPagamento = mapaTerminal.get(log.getTipoRecolhimento());

	         if (tipoPagamento == null)
	         {
	        	tipoPagamento = new ArrayList<PagamentoCodigoBarras>();
	            mapaTerminal.put(log.getTipoRecolhimento(), tipoPagamento);
	         }
	         

	         tipoPagamento.add(log);
	      }	 
	   
	
   }

6 Respostas

E

a exception é lançada na linha 10

efcjunior:
private void ordenaTotalizaLogsPagamentos(List<PagamentoCodigoBarras>logPagConsultados)
   {
	   
	   Map<String, Map<DomTipRcl, Collection<PagamentoCodigoBarras>>> agrupamento = new TreeMap<String, Map<DomTipRcl, Collection<PagamentoCodigoBarras>>>();
	   
	   //estrutura para a criação do agrupamento das movimentações financeiras por datas e terminais
	   for (PagamentoCodigoBarras log : logPagConsultados)
	      {  
                  [b]No primeiro looping ele passa normalmente mas no segundo ele lança exception[/b]
	         Map<DomTipRcl, Collection<PagamentoCodigoBarras>> mapaTerminal =               agrupamento.get(log.getLogTerCodBlk());

	         if (mapaTerminal == null)
	         {
	            mapaTerminal = new TreeMap<DomTipRcl, Collection<PagamentoCodigoBarras>>();
	            agrupamento.put(log.getLogTerCodBlk(), mapaTerminal);
	         }
	         
	        
	         Collection<PagamentoCodigoBarras> tipoPagamento = mapaTerminal.get(log.getTipoRecolhimento());

	         if (tipoPagamento == null)
	         {
	        	tipoPagamento = new ArrayList<PagamentoCodigoBarras>();
	            mapaTerminal.put(log.getTipoRecolhimento(), tipoPagamento);
	         }
	         

	         tipoPagamento.add(log);
	      }	 
	   
	
   }
Caused by: javax.faces.el.EvaluationException: java.lang.ClassCastException: la.foton.extracashweb.libfdk.dom.DomTipRcl at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:150) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92) ... 31 more Caused by: java.lang.ClassCastException: la.foton.extracashweb.libfdk.dom.DomTipRcl at java.util.TreeMap.compare(Unknown Source) at java.util.TreeMap.getEntry(Unknown Source) at java.util.TreeMap.get(Unknown Source) at la.foton.extracashweb.web.consultatransacoesfinanceiras.CnsTrnFinFormBean.ordenaTotalizaLogsPagamentos(CnsTrnFinFormBean.java:480) at la.foton.extracashweb.web.consultatransacoesfinanceiras.CnsTrnFinFormBean.performConsultarPagamentos(CnsTrnFinFormBean.java:232) at la.foton.extracashweb.web.consultatransacoesfinanceiras.CnsTrnFinFormBean.performConsultar(CnsTrnFinFormBean.java:146) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146) ... 32 more

Foxlol

Cara, vc tah jogando um objeto do tipo Map<String, Collection> em um objeto do tipo Map<DomTipRcl, Collection>.

Seu objeto DomTipRcl não é compativel com String. Dai o erro de cast.

[]'s

E

Foxlol:
Cara, vc tah jogando um objeto do tipo Map<String, Collection> em um objeto do tipo Map<DomTipRcl, Collection>.

Seu objeto DomTipRcl não é compativel com String. Dai o erro de cast.

[]'s

Nâo é isso que estou fazendo porque eu tenho Map<c,v> onde c = String e V = Map<DomTipRcl,Collection>…

Muito estranho esse erro.

Foxlol

efcjunior:
Foxlol:
Cara, vc tah jogando um objeto do tipo Map<String, Collection> em um objeto do tipo Map<DomTipRcl, Collection>.

Seu objeto DomTipRcl não é compativel com String. Dai o erro de cast.

[]'s

Nâo é isso que estou fazendo porque eu tenho Map<c,v> onde c = String e V = Map<DomTipRcl,Collection>…

Muito estranho esse erro.

Putz eh msm, mal, vacilei.

O erro tá na linha 24, onde vc atribui:

mapaTerminal.put(log.getTipoRecolhimento(), tipoPagamento);

tipoPagamento não é compativel com Map<DomTipRcl,Collection, já que é um ArrayList() na primeira iteração(pois tipoPagamento vai estar nulo já que recebe o mapaTerminal nulo antes).

if (tipoPagamento == null)
   {
	tipoPagamento = new ArrayList<PagamentoCodigoBarras>();
	mapaTerminal.put(log.getTipoRecolhimento(), tipoPagamento);
   }

flw

E

Foxlol:
efcjunior:
Foxlol:
Cara, vc tah jogando um objeto do tipo Map<String, Collection> em um objeto do tipo Map<DomTipRcl, Collection>.

Seu objeto DomTipRcl não é compativel com String. Dai o erro de cast.

[]'s

Nâo é isso que estou fazendo porque eu tenho Map<c,v> onde c = String e V = Map<DomTipRcl,Collection>…

Muito estranho esse erro.

Putz eh msm, mal, vacilei.

O erro tá na linha 24, onde vc atribui:

mapaTerminal.put(log.getTipoRecolhimento(), tipoPagamento);

tipoPagamento não é compativel com Map<DomTipRcl,Collection, já que é um ArrayList() na primeira iteração(pois tipoPagamento vai estar nulo já que recebe o mapaTerminal nulo antes).

if (tipoPagamento == null)
   {
	tipoPagamento = new ArrayList<PagamentoCodigoBarras>();
	mapaTerminal.put(log.getTipoRecolhimento(), tipoPagamento);
   }

flw

pow cara, mas o tipoPagamento é uma Collection, não entendi sua explicação…

Foxlol

efcjunior:
Foxlol:
efcjunior:
Foxlol:
Cara, vc tah jogando um objeto do tipo Map<String, Collection> em um objeto do tipo Map<DomTipRcl, Collection>.

Seu objeto DomTipRcl não é compativel com String. Dai o erro de cast.

[]'s

Nâo é isso que estou fazendo porque eu tenho Map<c,v> onde c = String e V = Map<DomTipRcl,Collection>…

Muito estranho esse erro.

Putz eh msm, mal, vacilei.

O erro tá na linha 24, onde vc atribui:

mapaTerminal.put(log.getTipoRecolhimento(), tipoPagamento);

tipoPagamento não é compativel com Map<DomTipRcl,Collection, já que é um ArrayList() na primeira iteração(pois tipoPagamento vai estar nulo já que recebe o mapaTerminal nulo antes).

if (tipoPagamento == null)
   {
	tipoPagamento = new ArrayList<PagamentoCodigoBarras>();
	mapaTerminal.put(log.getTipoRecolhimento(), tipoPagamento);
   }

flw

pow cara, mas o tipoPagamento é uma Collection, não entendi sua explicação…

Pow eh verdade, que vacilo, eu li que recebia um Map.
Tah estranho msm isso ai, nao to enxergando o que pode ser.

Criado 28 de maio de 2008
Ultima resposta 28 de mai. de 2008
Respostas 6
Participantes 2