4-septiembre-2019
admin

Reflexión en Java

La reflexión en java consiste en recuperar y modificar las propiedades de una clase en tiempo de ejecución. Para ello java provee el paquete java.lang.reflect que nos proporciona las funcionalidades necesarias para ello.

Ejemplo sencillo de uso:

//Este método asigna value como valor al campo de la clase, cuyo nombre es key.
public void setKeyValue(String key, String value) throws IllegalArgumentException, IllegalAccessException{
	for(Field i : this.getClass().getDeclaredFields()){
		if( key.equals(  i.getName() )){
		// encontrado el campo que se llama key
			if( i.getGenericType().getTypeName().equals("java.lang.String")){
				//modificación cuando es de tipo String
				i.set(this, (value!=null && !value.equals("")&& !value.equals("null"))?value:null);

			}else if( i.getGenericType().getTypeName().equals("java.lang.Long")){
				//modificación cuando es de tipo Long
				i.setLong(this, (value!=null && !value.equals("")&& !value.equals("null"))?Long.parseLong(value):null);

			}
			//etc...

			return;
		}
	}
}

Algunos enlaces con ejemplos de uso:
https://www.geeksforgeeks.org/reflection-in-java/
https://guru99.es/java-reflection-api/

Comentarios cerrados.

Categorias

Linkedin