sencillos reflexión reflexion que programacion polimorfismo notacion metodo mecanismo invocar geeksforgeeks example ejemplos java android reflection

reflexion - Android: cambiando el campo final estático privado utilizando la reflexión de Java



reflection programacion (1)

Esto funciona para campos no estáticos.

Field field = data.getClass().getDeclaredField("type"); field.setAccessible(true); field.set(data, null);

Cambiar el campo final estático privado utilizando la reflexión de Java

Seguí las instrucciones en el enlace de arriba para cambiar un campo final estático privado utilizando la reflexión java. Tengo un objeto llamado "datos". Dentro de "datos", hay una variable final estática privada llamada "tipo". Quiero establecer "tipo" para ser nulo. Aquí está mi código.

Field field = data.getClass().getDeclaredField("type"); field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(data, null);

Intenté hacer esto en Java 1.7 con un código similar y funcionó. Pero ejecutar este código en Android produce el siguiente error: java.lang.NoSuchFieldException: modifiers

Supongo que "modificadores" no es un campo en la clase Field en Android.

¿Cómo puedo solucionar esto?