Java - Problema llamada funciones java

 
Vista:

Problema llamada funciones java

Publicado por Francesc (6 intervenciones) el 03/12/2005 10:11:22
Hola...

Tengo una clase Fichero con varias funciones (get_nombre, get_tamaño, get_fecha). Como podria hacer para llamar a una de esta funciones, a partir de un String que me pasen.

Ej. void funcion (String valor){
Fichero f=new Fichero();
f.get_**********(); //----> Donde van los asteriscos iria el String que te pasan
}

Se puede comparar el String pasado y hacer la llamada segun el resultado de la comparacio, pero podria hacerse de forma más elegante.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Problema llamada funciones java

Publicado por chuidiang (950 intervenciones) el 03/12/2005 16:49:18
Hola:

Como dices, una solución es comparar el String y hacer la llamada que sea.

Otra solución es usar la introspección de java. Es algo como esto, pero tendrás que poner tu los detalles....

void funcion (String valor){
Fichero f=new Fichero();
Class clase = f.getClass();
Method metod = clase.getMethod ("get_"+valor, ...);
method.invoke(....);
}

Si hacer que tu clase sea como un Bean de java, es decir, que los métodos sean getNombre(), getParametro() etc, sin el guioncito, tienes un paquete (creo que de apache) que se llama commons-bean-utils.jar o algo así que facilita esta tipo de cosas.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar