Saya mencoba menerima nilai bidang melalui refleksi. Masalahnya adalah saya tidak tahu tipe field dan harus memutuskannya sembari mendapatkan nilainya.
Kode ini dihasilkan dengan pengecualian ini:
Tidak dapat mengatur java.lang.String field com .... fieldName ke 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);
Saya mencoba melakukan cast, tetapi saya mendapatkan kesalahan kompilasi:
field.get((targetType)objectValue)
atau
targetType objectValue = targetType.newInstance();
Bagaimana saya bisa melakukan ini?
field.get()
seharusnyaobject
, bukanobjectValue
.