我编写了一个代码来使用反射来获取对象属性的值,但是它给出了nosuchfield异常。包含id字段的类是
public class PartialSettBank {
// empty constructor
public PartialSettBank() {
}
protected Integer id;
protected String bankCode;
protected String bankName;
protected String description;
protected Integer isDeleted = 0;
protected Integer isPosted = 1;
protected Integer active;
protected LocalDateTime created;
protected String createdBy;
protected LocalDateTime updated;
protected String updatedBy;
------getter setter()
}
我想使用反射
访问id字段Field id = object.getClass().getDeclaredField("id");
id.setAccessible(true);
这个对象来自'PartialSettBank'类。对象包含id字段。我检查了它。为什么它会给出这样的错误我不知道。
答案 0 :(得分:0)
将您的代码更改为:
Field id = PartialSettBank.class.getDeclaredField("id");
id.setAccessible(true);
然后,您正在使用的对象是PartialSettBank
的直接实例还是子类的实例并不重要。您仍然可以将Field
对象与子类的实例或PartialSettBank
的直接实例本身一起使用。