以编程方式设置注释元属性

时间:2012-12-05 13:58:03

标签: java annotations

是否可以通过编程方式设置注释的属性。如果我有:

@interface Author(
    String name();
    Date date ();
)

我希望能够在代码中设置name属性,就像它是普通类一样。这可能吗?

1 个答案:

答案 0 :(得分:2)

  • 您无法在注释中使用Date
  • 要在运行时访问它,您需要添加@Retention(RetentionPolicy.RUNTIME)保留策略
  • 注释声明使用{}作为注释定义,而不是()
  • 不,您无法在运行时使用常规Java功能修改注释
  • 您可以使用字节码操纵器执行此操作,例如Javassist。但这不是微不足道的。

为什么要在运行时执行此操作?可能还有其他更好的解决方案来解决您的问题。