Language Iniciante

Substitua tipos de coleção brutos e casts de recuperação por segurança de tipos em tempo de compilação.

✕ 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.
🔒

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
De coleções brutas para tipos genéricos
Disponível

Genéricos estão disponíveis desde o JDK 5 (setembro de 2004).

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.