我有字段的类型对象,我想获取特定字段的值, 我该怎么做在java?
这里我获得了与entityinstance相关的字段id的特定字段类型 现在我想得到这个特定字段“id”的值(如1,2,3等)。
for (Object entityInstance : fromEntityInstances) {
try {
Field declaredField = entityObj.getDeclaredField("id");
答案 0 :(得分:4)
我想你正在寻找Field.get
:
Object value = declaredField.get(entityInstance);
如果您知道它的类型,则可以进行投射。对于基元,有一些特定的方法,例如Field.getInt()
int id = declaredField.getInt(entityInstance);
答案 1 :(得分:3)
获得声明字段后,可以调用其get
方法,如下所示:
// Don't forget getType() here ---vvv
Field declaredField = entityObj.getType().getDeclaredField("id");
Object res = declaredField.get(entityInstance);
如果所有对象的类型相同,则可以将getDeclaredField
的调用移到循环外部以节省一些CPU周期。