Field
JavaReflectionを介してString値を特定のオブジェクトデータ型に変換できるメソッドを構築したいと思います。
これが私のコードです:
String value = ...;
Class<? extends MyObject> clazz = getClazz();
Field f = clazz.getDeclaredField("fieldName");
boolean fieldIsAccessible = f.isAccessible();
if (!fieldIsAccessible) {
f.setAccessible(true);
}
f.getType().cast(value);
if (!fieldIsAccessible) {
f.setAccessible(false);
}
このコードを最初の試行で実行すると、この例外が発生しますjava.lang.ClassCastException
。
value
クラスに変換したいjava.math.BigDecimal
。
私のコードには何がありませんか?
編集: 私が思いついた解決策を表示します。