Problema com generics

Estou fazendo a apostila 26 da Caelum e apareceu uma solução bem legal para o Dao genérico, eles mandaram usar o partner method factory e ficou assim:

public static <T> Dao<T> getInstance(Session session, Class<T> classe) { return new Dao<T>(session, classe); }
Até ai tudo bem entendi o porque usar esse partner mas não entendi o porque no generics tive que declarar o [color=red]<T> Dao<T> [/color]como retorno(após alguns testes vi que se o método não for statico eu posso declarar simplesmente assim [color=red]Dao<T>[/color]), alguém sabe o porque disso?

Olá Wenderson,

  1. O é necessário para especificar a tipagem. Quando o método não é estático, você informa isso na delaração da classe.

  2. Já o Dao, especifica o tipo de retorno, sendo que a classe Dao é genérica, por isso fo necessário informar o .

Só para ajudar… Não é partner e sim: pattern!
:wink: