Erro de cast no java 1.6

3 respostas
ukaliko

E ai galera!!!

E o seguinte tinha um sistema em java que usava o cast abaixo de Long para Integer no java 1.5

Integer result = (Integer) (getHibernateTemplate().find(hql)).get(0);

Agora mudei a versão do java para 1.6, e esta dando erro de casting.

Alguem sabe o que pode estar acontencendo, se ouve mudança em cast do java de uma versao para outra ou qualquer outra coisa assim…

Valeu…

3 Respostas

dionat4n

Pelo que eu saiba não se pode dar casting de um Long para um Integer porque o Long tem um domínio maior de representação.

thiagoh

Cara, certamente isso foi uma remoção da 1.5 pra 1.6, mas que de qualquer forma voce nao deveria estar confiando nesse tipo de código.

Eu creio que os longs que voce estava usando, cabiam numa posicao de memória para um int, e entao a conversão funcionava.

Modifique seu codigo para trabalhar sem esse tipo de casting, pois não é seguro!

ukaliko

blza pessoal!! obrigado por responder. Vou ter que refatorar muito codigo deste sistema mesmo e esse sera um deles.

Valeu.

Criado 20 de janeiro de 2009
Ultima resposta 20 de jan. de 2009
Respostas 3
Participantes 3