Item 28: Prefira as listas aos arrays

  • Os arrays são covariantes, o que significa que um array de um subtipo é um subtipo de um array de um supertipo. Já os genéricos são invariantes.
  • Os arrays são reificados, ou seja, conhecem e fazem valer o tipo de seus elementos em tempo de execução, enquanto os genéricos são implementados pelo processo de erasure, perdendo as informações sobre os tipos dos elementos em tempo de execução.
  • Não é permitida a criação de arrays genéricos devido à falta de segurança de tipos, que poderia resultar em ClassCastException em tempo de execução.
  • Tipos como E, List e List são tipos não reificados, enquanto tipos wildcard ilimitados, como List<?> e Map<?,?>, são reificados.
  • Recomenda-se utilizar List em vez de arrays quando se trata de type safety e interoperabilidade.
  • Arrays e genéricos têm diferentes regras de tipos, o que os torna incompatíveis. Recomenda-se substituir arrays por listas quando se misturam e ocorrem advertências ou erros na compilação.

Reforçando o resumo do resumo:

Segundo o artigo, as vantagens de preferir listas em vez de arrays incluem:

Type Safety: Listas oferecem maior segurança de tipo em tempo de compilação, enquanto arrays podem resultar em erros de tipo em tempo de execução, como ClassCastException.

Interoperabilidade: Listas são mais interoperáveis com código legado e outros tipos genéricos devido ao processo de erasure usado pelos genéricos, enquanto arrays podem ser mais limitados nesse aspecto.

Eliminação de Advertências: O uso de listas em vez de arrays pode eliminar advertências de compilação, especialmente ao lidar com métodos varargs e tipos genéricos.

Confiabilidade: Embora possam ser um pouco mais verbosas e menos eficientes, as listas proporcionam uma maior tranquilidade em relação à segurança de tipo, evitando exceções em tempo de execução.


Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top
India's largest digital store. Donation best free software download. 2025 jamb questions and answers |free 2025 jamb answers.