1

我有带字段的类型对象,我想在上面获取特定字段的值,我应该如何在 java 中做到这一点?

在这里,我获取与实体实例相关的字段 id 的特定字段类型,现在我想获取此特定字段“id”的(如 1、2、3 等)。

for (Object entityInstance : fromEntityInstances) {

    try {
        Field declaredField = entityObj.getDeclaredField("id");
4

2 回答 2

4

你正在寻找Field.get

Object value = declaredField.get(entityInstance);

如果您知道它的类型,则可以进行投射。对于原语,有具体的方法,比如Field.getInt()

int id = declaredField.getInt(entityInstance);
于 2013-03-27T17:10:45.283 回答
3

一旦获得声明的字段,就可以调用它的get方法,如下所示:

// Don't forget getType() here ---vvv
Field declaredField = entityObj.getType().getDeclaredField("id");
Object res = declaredField.get(entityInstance);

如果所有对象都属于同一类型,则可以将调用移到getDeclaredField循环外以节省一些 CPU 周期。

于 2013-03-27T17:11:00.787 回答