bruno_abreu
So corrigindo…
List l = new List();
Tambem nao compila porque List e interface.
o certo seria:
List l = new ArrayList();
Voce pode usar um super tipo apenas na declaraca do tipo base e nao para o tipo Generico.
Por exemplo, isso nao compila:
List l = new ArrayList();
mesmo String sendo subtipo de Object
RafaelVS
Já que uma resposta está corrigindo/complementando a outra, vamos lá:
Na verdade você pode fazer isso, usando coringa.
Exemplo:
List<? extends Object> l = new ArrayList<String>();
Além disso, você tb pode colocar até mesmo supertipo da declaração usando coringa.
Exemplo:
List<? super String> l = new ArrayList<Object>();
[]'s