Próbuję uzyskać wartość pola poprzez refleksję. Problem polega na tym, że nie znam typu pól i muszę o tym decydować podczas pobierania wartości.
Ten kod skutkuje tym wyjątkiem:
Nie można ustawić pola java.lang.String field com .... fieldName na 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);
Próbowałem przesyłać, ale otrzymuję błędy kompilacji:
field.get((targetType)objectValue)
lub
targetType objectValue = targetType.newInstance();
Jak mogę to zrobić?
field.get()
powinno byćobject
, a nieobjectValue
.