在Java(7)中,如何获取带注释字段的值

时间:2014-03-25 14:49:13

标签: java annotations

我有一个带有字段的类,其中一些字段使用自定义注释进行注释。我有一个方法需要在实例化的类中检索这些字段的值:

public void displayStringValue(Row row)
    for (Field field : Row.class.getDeclaredFields()) {
        SomeAnnotation annotatedElement = field.getAnnotation(SomeAnnotation.class);
        if (annotatedElement != null) {
            row.getValue(field.getName()); // What to do here in stead of this?
        }
    }
}

显然,row.getValue(String fieldname);不存在。在这里,我需要找到一种方法来获取该字段的值。

1 个答案:

答案 0 :(得分:4)

您想要Field#get()给定Row对象的字段值吗?

field.setAccessible(true);
Object fieldValue = field.get(row); // or cast it if you know the type
如果从调用类中看不到该字段,则需要

setAccessible(..)