De coleções brutas para tipos genéricos
Substitua tipos de coleção brutos e casts de recuperação por segurança de tipos em tempo de compilação.
Comparação de Código
✕ Java 1.4
List names = new ArrayList();
names.add("Duke");
String name = (String) names.get(0);
✓ Java 5+
List<String> names = new ArrayList();
names.add("Duke");
String name = names.get(0);
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
Segurança em tempo de compilação
Tipos de elemento inválidos falham durante a compilação, não em tempo de execução.
Sem casts de recuperação
Os valores mantêm o tipo de elemento declarado.
APIs autoexplicativas
As declarações de coleção informam exatamente o que contêm.
Abordagem Antiga
Coleções brutas
Abordagem Moderna
Coleções genéricas
Desde o JDK
5
Dificuldade
Iniciante
Suporte JDK
De coleções brutas para tipos genéricos
Disponível
Genéricos estão disponíveis desde o JDK 5 (setembro de 2004).
Como funciona
Coleções brutas aceitam tipos de objeto arbitrários e adiam os erros de tipo até que um cast seja executado. Argumentos de tipo genérico permitem que o compilador valide gravações e leituras, eliminem casts, melhorem o suporte da IDE e tornem explícitos os contratos de API. Tipos brutos normalmente devem permanecer apenas em pontos de interoperabilidade legados cuidadosamente isolados.
Documentação Relacionada
Prova