Dúvida Generics

2 respostas
Ronaldoviper

pq este código funciona

List list = new ArrayList();

list.add(1);

Number a = list.get(0);

e este não funciona

List list = new ArrayList();

list.add(1);

Integer a = list.get(0);

??

2 Respostas

Dieval_Guizelini

O java consegue fazer a conversão implicita de 1 para Number mas o inverso não… a Classe Number poderia ser qualquer um dos tipos numéricos (Integer, Long, Float etc)… se fizer o cast irá funcionar:

Integer a = (Integer) list.get(0);

Bohzzu

Cast para um super tipo é implicito, para subtipo nao, como dito anteriormente.

Criado 2 de novembro de 2006
Ultima resposta 3 de nov. de 2006
Respostas 2
Participantes 3