Antes da existência desta ferramenta era possível fazer o seguinte:
ArrayList list = new ArrayList();
> list.add(10);
> list.add("teste");
> list.add(new Object());
String s = (String) list.get(1); *// precisei fazer um cast e ainda corro
> risco de indice 1 não conter realmente uma String*
>
Para acessar os elementos desta lista, ou você tinha *disciplina* e só usava
a lista para guardar um tipo de dados e ainda sim usar toneladas de
*casts*ou você usava o operador
*instanceof* para *tentar* adivinhar qual tipo você está manipulando. Vale
frizar que isto só dará *erro em tempo de execução* (ClassCastExceptions)
caso você faça casts incorretos pois o compilador não pode eliminar tais
tipo de erro pois não pode prever o que será adicionado e qual será o tipo
do que está sendo adicionado
Com generics você *"avisa"* para o compilador que tipos de dados esperar,
com isso podemos verificar os parâmetros passados para os método. Meio
dificil de explicar com palavras, vamos tentar com um exemplo.
ArrayList<String> list = new ArrayList<String>(); *// a partir deste momento
> o compilador sabe que esta lista só possuirá strings*
> list.add("teste") *// sem problemas, pois o parâmetro é realmente uma
> string.*
> list.add(10) *// erro em tempo de compilação, pois o parâmtro não é uma
> string*
Sobre esta dúvida: "Uso correto de variáveis do tipo de uma interface ou do
tipo de uma classe abst"
Explique melhor pois não consegui entender qual realmente é a sua
dificuldade.
[]'s
2008/9/22 Gustavo Cury <[EMAIL PROTECTED]>
> Bem, estou com um pouco de dúvida nos seguintes assuntos sobre o teste,
> teria como vocês darem uma esclarecida em:
>
> - Uso de Generics com ArrayList
>
> - Uso correto de variáveis do tipo de uma interface ou do tipo de uma
> classe abstrata
>
> Obrigado desde já.
> Gustavo Cury
>
> ------------------------------
> Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver
> offline. Conheça o MSN Mobile! Crie já o
> seu!<http://mobile.live.com/signup/signup2.aspx?lc=pt-br>
> >
>
--
Flávio Coutinho da Costa
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Comp
2 - Geral" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/comp2-geral?hl=en
-~----------~----~----~----~------~----~------~--~---