[Resolvido]Retornar um objeto de determinada classe(tipo generics) - acho que é simples

3 respostas
R

Olá pessoal,

Fiquei na dúvida em que sessão colocar. Não sei se isso é muito básico ou não. Resolvi colocar aqui espero que não tenha problemas.

Gostaria de criar um método que retornasse um objeto da classe enviada como parametro. Ele teria mais ou menos essa assinatura:

(Sem generics pq nao sei direito como colocar)

public Object obterObjetoUsandoId(Long id, Class classeDesteObjeto)

Gostaria de poder fazer este método porém sem ele retornar “Object”, mas sim um objeto do tipo que eu especifiquei no parametro(evitar casting). Eu “sei” que é possível fazer isso usando generics.

Alguém poderia me ajudar?

Muito obrigado,

Ricardo

3 Respostas

leonardobhbr

Tente assim

public class FazAlgo<T>
{
 
        public T retornaObjeto(T origem)
       {
         T temporario = T.newInstance();
         return temporario;
       }
}

e para usar

Cliente cliente = new FazAlgo<Cliente>().retornaObjeto(clienteOrigem)
sergiolopes

Oi Ricardo!

Se for só o método genérico (não a classe toda), você pode usar essa assinatura:

public <T> T obterObjetoUsandoId(Long id, Class<T> classeDesteObjeto);

Abraços

R

Opa,

Muito obrigado pessoal!

Era exatamente isso que eu buscava.

Criado 7 de fevereiro de 2011
Ultima resposta 7 de fev. de 2011
Respostas 3
Participantes 3