Foros del Web » Programación para mayores de 30 ;) » Java »

Reflectividad en Java

Estas en el tema de Reflectividad en Java en el foro de Java en Foros del Web. Hola, Mi duda es la siguiente: Estoy realizando una aplicación con reflectividad, y quiero que en función del tipo del dato que tenga dentro de ...
  #1 (permalink)  
Antiguo 01/01/2008, 09:47
 
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Reflectividad en Java

Hola,

Mi duda es la siguiente:

Estoy realizando una aplicación con reflectividad, y quiero que en función del tipo del dato que tenga dentro de un objeto de tipo java.lang.reflect.Field llamar a un método u otro, teniéndo estos métodos la misma signatura a excepción del tipo del parámetro que reciben. Es decir, sería un Visitor.

cargar :: Field field

foo(field.getType())

foo(String)

foo(Enu m)

Es decir, si field tuviera dentro un objeto de tipo String, quiero que llame a la función que recibe un String.

El problema es que getType() me devuelve un Class y getGenericType() un Type.

Ojalá puedan ayudarme. Todas las ideas serán bien recibidas :).

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 01/01/2008, 13:48
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Reflectividad en Java

Para que te ejecute el metodo con un String o un Enum, tendrías que pasarle un String o un Enum, que aunque suene obvio, quiere decir que tendrías que pasarle la variable en sí, no una definición de lo que es esa variable.

Es decir, usar algo como foo(field.get(unaInstancia)) ya que eso te devolvera el valor del campo. Si no tienes instancias y estás trabajando simplemente con la clase, entonces podrías hacerlo con instancias del tipo Class y a base de if/else y equals.

S!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:06.