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);
??
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);
??
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);
Cast para um super tipo é implicito, para subtipo nao, como dito anteriormente.