访问带注释的字段

2022-09-02 21:46:29

我为我的项目制作了一个自定义注释,该注释将仅与字段一起使用,即

@MyAnnotation int myVariable

我有另一个类,它将负责根据变量值执行一些操作。该项目具有不确定数量的类,其中包含注释。如何使用注释处理器访问它们以访问这些值?

我可以检查每个类中的带注释的变量,但不能修改值,因为它不是一个对象。

关于如何做到这一点的任何建议?

提前致谢!!:)


答案 1
int getMyVariable(Foo foo) throws IllegalArgumentException, IllegalAccessException{
 for(Field f:foo.getClass().getDeclaredFields()){
  /**
   * Ensure the RetentionPolicy of 'MyAnnotation' is RUNTIME.
   */
   if(f.isAnnotationPresent(MyAnnotation.class)){
   return f.getInt(foo);
  } 
 }
 return -1;
}

答案 2