リフレクションを介してフィールド値を取得しようとしています。問題は、フィールドのタイプがわからないため、値を取得するときにそれを決定する必要があることです。
このコードは、次の例外で発生します。
java.lang.Stringフィールドcom .... fieldNameをjava.lang.Stringに設定できません
Field field = object.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
Class<?> targetType = field.getType();
Object objectValue = targetType.newInstance();
Object value = field.get(objectValue);
キャストしようとしましたが、コンパイルエラーが発生します。
field.get((targetType)objectValue)
または
targetType objectValue = targetType.newInstance();
これどうやってするの?
field.get()
はでobject
はなく、であるはずobjectValue
です。