renatosilva:
Lavieri, acho que você não está entendendo. O tal T quando compilado não existe mais, você quer usar os genéricos pra uma coisa que eles não foram feitos. Por que candidate tem que ser Object, se quando ele não é T o método aborta? Por que não abortar já em tempo de compilação?
vc não ta entendendo... eu simplismente kero criar um outro método... e esse outro método precisa saber qual é a classe do Tipo T, pra poder usa-lo corretamente...
preciso disso, pra montar um filtro generico... kero converter um filtro de um objeto especifico, que é tipado, em um filtro generico, ou seja... um filtro aplicavel a coisas não tipadas, pra isso preciso fazer um teste de instanceOf....
é um filtro dentro do outro...
Filter por exemplo, so pesquisa cidades, e so aceita cidades em seu parametro....
posso kerer criar um filtro que contenha esse filtro por exemplo..
Filter<Cidade> filterCidade;
Filter<Pessoa> filterPessoa;
Filter<?> pessoaOuCidade = FilterUtils.or(filterCidade,filterPessoa);
agora eu tenho uma lsita assim
List<?> listaContendoDiversosObjetos;
//aki eu recebo uma lsita que contem as pessoas do primeiro filtro, ou as cidades do segundo filtro
List<?> list = CollectionUtils.findAll(listaContendoDiversosObjetos, pessoaOuCidade);
isso é apenas 1 exemplo...
eu simplismente kero conseguir transformar um Filtro tipado, em um não tipado..., e para isso preciso conseguir testar isntanceof