我有一个带有字段的类型对象,我想获得特定字段的值,在java中怎么做呢?
这里我得到了与entityinstance相关的字段id的特定字段类型现在我想获得这个特定字段"id"的值(如1,2,3等)。
for (Object entityInstance : fromEntityInstances) {
try {
Field declaredField = entityObj.getDeclaredField("id");
我认为你在找Field.get
:
Object value = declaredField.get(entityInstance);
如果知道它的类型,就可以强制转换。对于原语,有特定的方法,如Field.getInt()
int id = declaredField.getInt(entityInstance);
一旦你得到声明的字段,你可以调用它的get
方法,像这样:
// Don't forget getType() here ---vvv
Field declaredField = entityObj.getType().getDeclaredField("id");
Object res = declaredField.get(entityInstance);
如果所有的对象都是相同的类型,您可以将getDeclaredField
的调用移出循环以节省一些CPU周期。