Pq ocorre ClassCast?

1 resposta
M
Queries queriesBuscaGrupoProcedimento = new Queries(br.com.sgdi.bean.procedimento.ProcedimentoBean.class);
		Iterator it = listaProcedimento.iterator();
		
		List resultadoFinal = new ArrayList();
		
		while(it.hasNext()){
			AgendamentoBean age = new AgendamentoBean();
			age = (AgendamentoBean)it.next();
			List provisoria = queriesBuscaGrupoProcedimento.buscarGrupoProcedimento(age.getAgendamentoProcedimentoID());
			Iterator iProv = provisoria.iterator();
			while(iProv.hasNext()){
				GrupoProcedimentoBean grupo = new GrupoProcedimentoBean();
				grupo = (GrupoProcedimentoBean)iProv;
				resultadoFinal.add(grupo);
			}
		}

Pq ocorre um class cast quando faço grupo = (GrupoProcedimentoBean)iProv;?

[]'s

1 Resposta

R
mendigosujo:
Queries queriesBuscaGrupoProcedimento = new Queries(br.com.sgdi.bean.procedimento.ProcedimentoBean.class);
		Iterator it = listaProcedimento.iterator();
		
		List resultadoFinal = new ArrayList();
		
		while(it.hasNext()){
			AgendamentoBean age = new AgendamentoBean();
			age = (AgendamentoBean)it.next();
			List provisoria = queriesBuscaGrupoProcedimento.buscarGrupoProcedimento(age.getAgendamentoProcedimentoID());
			Iterator iProv = provisoria.iterator();
			while(iProv.hasNext()){
				GrupoProcedimentoBean grupo = new GrupoProcedimentoBean();
				grupo = (GrupoProcedimentoBean)iProv;
				resultadoFinal.add(grupo);
			}
		}

Pq ocorre um class cast quando faço grupo = (GrupoProcedimentoBean)iProv;?

[]'s

Ocorre porque um iterator não é um GrupoProcedimentoBean. Ou seja, pra funcionar o seu código acima, substitua a linha:
grupo = (GrupoProcedimentoBean)iProv;
por:
grupo = (GrupoProcedimentoBean)iProv.next();

sucesso!
Roger Leite

Criado 8 de abril de 2008
Ultima resposta 8 de abr. de 2008
Respostas 1
Participantes 2