我试图通过反思获得一个字段的价值。问题是我不知道字段的类型,必须在获取值的同时确定它。
这段代码导致了这个异常:
无法将 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();
我怎么能这么做?