каждый:
Я работаю над использованием отражения java для установки значения поля, но получаю IllegalArgumentException
Я нахожу учебник оракула, https://docs.oracle.com/javase/tutorial/reflect/member/fieldTrouble.html, который очень похожв моем случае.
Но даже если я буду следовать примеру для использования,
f.set(ft, new Integer(43));
Все равно не получится с тем же исключением.
Обновление проблемного кода:
import java.lang.reflect.Field;
public class FieldTrouble {
public Integer val;
public static void main(String... args) {
FieldTrouble ft = new FieldTrouble();
try {
Class<?> c = ft.getClass();
Field f = c.getDeclaredField("val");
f.setInt(ft, new Integer(43)); // IllegalArgumentException
// production code should handle these exceptions more gracefully
} catch (NoSuchFieldException x) {
x.printStackTrace();
} catch (IllegalAccessException x) {
x.printStackTrace();
}
}
}
Я использую Java 1.8 Кто-нибудь знает, как решить эту проблему?Спасибо