Recuperando los nombres / valores de atributos heredados usando Java Reflection

Veera

Tengo un objeto Java 'ChildObj' que se extiende desde 'ParentObj'. Ahora, si es posible recuperar todos los nombres y valores de atributos de ChildObj, incluidos los atributos heredados también, utilizando el mecanismo de reflexión de Java.

Class.getFields me da la matriz de atributos públicos, y Class.getDeclaredFields me da la matriz de todos los campos, pero ninguno de ellos incluye la lista de campos heredados.

¿Hay alguna forma de recuperar los atributos heredados también?

dfa:

No, debes escribirlo tú mismo. Es un método recursivo simple llamado Class.getSuperClass () :

public static List<Field> getAllFields(List<Field> fields, Class<?> type) {
    fields.addAll(Arrays.asList(type.getDeclaredFields()));

    if (type.getSuperclass() != null) {
        getAllFields(fields, type.getSuperclass());
    }

    return fields;
}

@Test
public void getLinkedListFields() {
    System.out.println(getAllFields(new LinkedList<Field>(), LinkedList.class));
}

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Los controladores heredados de Webapi ignoran los atributos de ruta

Recuperando espacios de nombres de Element en Java (usando DOM)

PHP recuperando todos los nombres de nodo y valores de nodo de una cadena XML anidada

Quite todos los valores de los objetos C # usando Reflection

Quiero actualizar los nombres de los atributos de mi columna sin cambiar sus valores

XPath: cómo obtener todos los nombres de atributos y valores de un elemento

Recuperando todos los valores de una columna

Cómo mostrar los valores de los atributos de un objeto usando una función

HTML 5 Angular 10: muestra los valores de los atributos de la matriz usando EXL

Java convierte el mapa en un pojo cuando los nombres de los atributos son diferentes

¿Cómo controlar los valores de los atributos del filtro SVG usando CSS?

Usando el módulo de nodo Strong-soap, no está agregando espacio de nombres a los atributos de los elementos

¿Es posible obtener los nombres de propiedad heredados no enumerables de un objeto?

Cómo dividir los atributos de los nombres de columna y la longitud por separado usando SQL

forma más corta de obtener atributos de datos de todos los nombres y valores de columna

Cambiar el nombre de los nombres heredados en una matriz en R

¿Cómo ordenar los valores de los atributos de varios objetos Java y sumarlos?

Cómo concatenar todos los elementos secundarios con los mismos valores de nombres usando LINQ to XML

Mantener los nombres de los atributos al fusionar Igraphs

Pyspark: obtenga los nombres de los atributos del archivo json

Regex coincide con los nombres de los atributos HTML

analizar el xml especificando los nombres de los atributos

¿Cómo se escapan los valores de los atributos HTML en Java sin la biblioteca Owasp?

Neo4j y Java: ¿cómo sumar todos los valores de los atributos?

Neo4j y Java: ¿cómo sumar todos los valores de los atributos?

Manejo de valores heredados y no heredados en PostgreSQL

¿Por qué los terminales pueden tener atributos sintetizados pero no heredados?

Cambiar los nombres de los objetos usando if ()

¿Es posible obtener los valores de centralidad de grado basados en los atributos del nodo usando Networkx y Python?