Crear un ArrayList de los métodos y el método de ejecución la entrada de cadena del mismo nombre

votos
-1

¿Cómo se crea una lista de todos los métodos en una clase. A continuación, busque esa lista, utilizando una entrada de cadena para el método con el mismo nombre y ejecutar ese método?

Publicado el 09/10/2019 a las 18:55
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

Esto es sólo la forma de la función de invocar en tiempo de ejecución

Puede utilizar lo que se llama reflexión Java para llamar a los métodos en tiempo de ejecución.

Tomemos un ejemplo de esta clase:

public class Operations {
    public double sum(int a, double b) {
        return a + b;
    }

    public static double multiply(float a, long b) {
        return a * b;
    }
}

En primer lugar, tenemos que obtener un objeto método que refleje el método que queremos invocar. Ok, ahora necesitamos la función getDeclaredMethod. Por eso, tenemos que crear un objeto de método de clase. Podemos utilizar esta función para llamar a cualquier getDeclaredMethod determinado público, método privado, protegido . No importa si el método es estático o no.

Method sumMethod= Operations.class.getDeclaredMethod("sum", int.class, double.class);

Cuenta de una cosa, que int.class y double.class se da cuenta de los parámetros presentes en la función dada.

Ahora para invocar el método, utilice .invoke()la función.

double value = sumMethod.invoke(null, 1,2.5);

Tenga en cuenta que he pasado nulo como la primera discusión, que se debe a que estoy llamando a un método estático. Si necesita llamar a un método de instancia, tiene que pasar el objeto en lugar de null.

¡Espero eso ayude! Para más información: https://www.baeldung.com/java-method-reflection

Respondida el 09/10/2019 a las 19:12
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more