更改方法注释的值(属性) - JAVA

时间:2017-10-20 07:54:01

标签: java annotations

这可能吗?

我想更改注释的值,如下所示:

方法(Listener.class(Interface)):

@xAnnotation(x=15)
public final void xMethod() {
}

代码:

public final void xMethod1(Listener lnr) {
     if (boolean_) {
        changeXvalue(lnr, 20); // This should change the x value.
     }
     registerListeners(lnr); // Listeners will be registered according the 'x' value.
   }

1 个答案:

答案 0 :(得分:0)

正式不支持更改注释值。请注意,注释可能在运行时甚至不存在,具体取决于Retention。如果是,则将它们编译为类级别的字节码并且是不可变的。

作为一种解决方法,您可以创建一个静态getter / setter并将其初始化为类中的属性值'静态初始化器。