Reflexión de tipo de notas de trabajo Java enum

El tipo de enumeración aquí tiene su propio método de reflexión:

Aquí primero resumo la lógica:

1. Use getEnumConstatnts para devolver los objetos actualmente en la enumeración.

2. Obtenga el método a través de getMehod.

3. Finalmente use este objeto para llamar a sus métodos.

 

La captura de pantalla del programa es la siguiente:

La enumeración correspondiente:

El código fuente es el siguiente:

Em.java

package en;

public enum Em {

    ONE_EM(10001, "ONE"),
    TWO_EM(10002, "TWO"),
    THREE_EM(10003, "THREE");

    private Integer emID;
    private String emString;

    Em(Integer emID, String emString){

        this.emID = emID;
        this.emString = emString;
    }

    public Integer getEmID() {
        return emID;
    }

    public String getEmString() {
        return emString;
    }
}

main.java

import en.Em;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class main {

    public static void main(String args[]) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {

        //打印反射数据
        Class emCLass = Em.class;
        Object[] enumConstants = emCLass.getEnumConstants();
        Method getEnumID = emCLass.getMethod("getEmID");
        Method getEnumString = emCLass.getMethod("getEmString");

        for(Object item : enumConstants){

            Object invokeID = getEnumID.invoke(item);
            Object invokeString = getEnumString.invoke(item);
            System.out.println("invokeID:" + invokeID + "\tinvokeString:" + invokeString);
        }
    }
}

 

 

 

 

1331 artículos originales publicados · 7073 elogiados · 2.56 millones de visitas

Supongo que te gusta

Origin blog.csdn.net/qq78442761/article/details/105412474
Recomendado
Clasificación