Ich versuche, Feldwert durch Reflexion zu erhalten. Das Problem ist, dass ich den Feldtyp nicht kenne und ihn entscheiden muss, während ich den Wert erhalte.
Dieser Code führt zu dieser Ausnahme:
Das Feld java.lang.String com .... fieldName kann nicht auf java.lang.String gesetzt werden
Field field = object.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
Class<?> targetType = field.getType();
Object objectValue = targetType.newInstance();
Object value = field.get(objectValue);
Ich habe versucht zu besetzen, aber ich erhalte Kompilierungsfehler:
field.get((targetType)objectValue)
oder
targetType objectValue = targetType.newInstance();
Wie kann ich das machen?
field.get()
sollte seinobject
, nichtobjectValue
.