Não dá para realizar o unbox de uma referência Object para um tipo primitivo.

int i = (int) col.get(0);
// não compila pois retorna um Object que não pode ser convertido direto para um ‘int’ primitivo.
int i = (Integer) col.get(0); // ok, pois o retorno é convertido de ‘Object’ para ‘Integer’ e depois é unboxed para ‘int’ primitivo.
Equivalente ao código acima:
 

Object o = new Integer(1);

int i = (int)o;

javac:

Teste.java:12: inconvertible types

int i = (int)o;

^

required: int

found: Object

1 error

Equivalente ao código acima:
 

Object o = new Integer(1);

int i = (Integer)o;

javac:


{compila sem problemas}

 


Anúncios
Esta entrada foi publicada em Java com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s