プログラムで IllegalAccessException の問題が発生しました
これが私のコードです
private static void setdata(Field field, Object dto, Object value) throws IllegalArgumentException, IllegalAccessException {
boolean accessible = field.isAccessible();
if (!accessible)
field.setAccessible(true);
if (value instanceof java.lang.String) {
if (value != null) {
value = String.valueOf(value).trim();
}
}
field.set(dto, value);
if (accessible)
field.setAccessible(false);
}
「IllegalAccessException」を防ぐために、チェックロジックを追加しました。
boolean accessible = field.isAccessible();'
if (!accessible) field.setAccessible(true);
しかし、時々私のプログラムで IllegalAccessException が発生します。
行で発生した例外 - 'field.set(dto, value);'
例外は以下の通りです
java.lang.IllegalAccessException: Class com.comm.util.FileReadUtils can not access a member of class com.dto.myDto with modifiers "private"
最初は、「静的」が問題かもしれないと思います。
しかし、私の知る限り、静的メソッドは呼び出されたときに独自のスタック フレームを作成します。
だから私は何も得ませんでした。
私が何か愚かなことをしたか教えてください〜
私のプログラムは Spring 3.x と Java 1.6 で動作します