Tipos genéricos  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
osmio
Java Ninja

Membro desde: 22/08/2006 20:27:54
Mensagens: 252
Offline


É incrível como isso pode funcionar:





Até!

"O pensamento lógico pode levar você de A a B, mas a imaginação te leva a qualquer parte do universo."
- Einstein, Albert
[Email]
filipenf
JavaBaby

Membro desde: 27/05/2009 12:47:07
Mensagens: 98
Offline

Funciona por questão de compatibilidade com código legado. Sempre que você usar collections não parametrizadas elas serão compatíveis com qualquer tipo. Isto pode gerar problemas como no exemplo que você deu, e também quando você recebe um objeto desses por parâmetro em um método. Tipo:




Você está bêbado quando começa a sentir solidariedade e não consegue pronunciar essa palavra.

Filipe N. Felisbino
SCJP - SCWCD - LPIC 1
fnf01.blogspot.com - twitter.com/filipenf
[WWW] [Yahoo!]
osmio
Java Ninja

Membro desde: 22/08/2006 20:27:54
Mensagens: 252
Offline

Pois é.
Compatibilidade é fundamental, porém, em certas situações tem que ser muito bem estudada!

rsrs
Criei o tópico para, de certa maneira, demonstrar um pouco de "revolta" com uma implementação, muito parecida com a acima em um sistema!

Até!

"O pensamento lógico pode levar você de A a B, mas a imaginação te leva a qualquer parte do universo."
- Einstein, Albert
[Email]
filipenf
JavaBaby

Membro desde: 27/05/2009 12:47:07
Mensagens: 98
Offline

O detalhe é que não teria como eles criarem generics sem ter isso. Caso contrário nenhum código escrito para a versão 1.4 poderia rodar na versão 1.5, isto seria um grande problema. Eles evitaram um problema grande, trazendo à tona outro menor. Isto porque basta o programador ser cuidadoso que ele conseguirá evitar a maior parte desses bugs.

Mas vale a discussão, e quando o generics foi introduzido à linguagem houve muita discussão nesse sentido, de que forma um recurso como esses poderia ser implementado, sem perder a compatibilidade e trazendo todos os recursos que trouxe. Dentro das possibilidades acho que eles implementaram da melhor forma.

A mesma discussão acontece quando se fala em adicionar sobrecarga de operadores em Java. Este recurso existe há anos no C++, e há anos se fala em adicionar isso ao java também. Apesar de facilitar muito por um lado para o programador pode causar muitas dores de cabeça também, principalmente para código legado. Na minha opinião este seria um recurso muito bem-vindo à linguagem.

Você está bêbado quando começa a sentir solidariedade e não consegue pronunciar essa palavra.

Filipe N. Felisbino
SCJP - SCWCD - LPIC 1
fnf01.blogspot.com - twitter.com/filipenf
[WWW] [Yahoo!]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team