Tenho a seguinte classe abstrata com um método valueOf(String value) que deve instanciar e me devolver um objeto do tipo T (generico), que por sua vez é um subtipo (RG, CPF, etc) de T
Bom pelo o seu codigo em nenhum momento vs informa a classe T
vs pode fazer da seguinte forma
public <T ex Document> T valueOf(Class<T> clazz, String value){
try{
clazz.getConstructor(String.class).newInstance(value);
}....
}
O que vem a ser vs???
mauriciot.silva
o q isso ira acrescentar no forum?
joparibeiro
drsmachado:
mauriciot.silva:
Bom pelo o seu codigo em nenhum momento vs informa a classe T
vs pode fazer da seguinte forma
public <T ex Document> T valueOf(Class<T> clazz, String value){
try{
clazz.getConstructor(String.class).newInstance(value);
}....
}
O que vem a ser vs???
“vs” deve ser Vossa Senhoria, rsrs.
Brincadeiras a parte, a dica do mauriciot.silva foi boa.
Problema resolvido.
mauriciot.silva
ou entao vs poder mudar a declaracao da classe
publicabstractclassDocumentoValidado<TexDocumentoValidado>implementsSerializablepublicfinalTvalueOf(Stringvalue){// logica para pegar tipo Generico....try{// clazz seria o tipo generico...clazz.getConstructor(String.class).newInstance(value);}....}
nao ha problema o method ser final, pois Documento eh Abstract… e jah terah uma logica implementada para as outras sub classes