[RESOLVIDO] Cast no estilo (.... ) só é possivel nos primitivos?

2 respostas
alexandref93

Cast no estilo (… ) só é possivel nos primitivos???
Por que no caso eu converter um int para String eu teria que utilizar o método valueOf(); da classe!
mais o que Casting que faz entre paretenses "(int) ou (long), só com primitivos???

Obrigado pela atenção!!!

2 Respostas

Eric_Yuzo

O cast pode ser feito entre referências a objetos que pertençam a mesma hierarquia.

List l = new ArrayList(); // ArrayList é um List por implementar a interface; ArrayList a = (ArrayList) l; // l é do tipo List, mas como a referência é de um ArrayList, o cast pode ser feito
Só tem que tomar cuidado com este cast, porque se a referência não for compatível, será lançado um ClassCastException.

List l = new ArrayList(); LinkedList b = (LinkedList) l; // Compila porque LinkedList é um List, mas será lançado ClassCastException em runtime por que a referência é de um ArrayList

alexandref93

vlw, clareou mais a mente agora :smiley:

Criado 30 de outubro de 2010
Ultima resposta 30 de out. de 2010
Respostas 2
Participantes 2