Bom dia pessoal!
Estou tentando obter todos os atributos de um objeto e de suas superclasses, através uma função recursiva, mas já na segunda chamada ela cai diretamente em Class e encerra a recursão, não trazendo o resultado esperado.
Alguém teria alguma sugestão de como contornar este problema ou então outra maneira para obter todos os atributos?
Segue abaixo o código da função.
private static Collection<Field> getAtributos(Object obj) {
System.out.println(obj.getClass().getSimpleName());
Collection<Field> atributos = new ArrayList<Field>();
Field[] atrib = obj.getClass().getDeclaredFields();
atributos.addAll( Arrays.asList(atrib) );
if (!obj.getClass().getSuperclass().equals(Object.class)) {
atributos.addAll( getAtributos( obj.getClass().getSuperclass() ) );
}
return atributos;
}
Um grande abraço à todos e obrigado pela atenção!