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);
}
}
Java.lang.ClassCastException:
6 Respostas
a exception é lançada na linha 10
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
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
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.
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
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…
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.