这可能吗?
我想更改注释的值,如下所示:
方法(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.
}
答案 0 :(得分:0)
正式不支持更改注释值。请注意,注释可能在运行时甚至不存在,具体取决于Retention
。如果是,则将它们编译为类级别的字节码并且是不可变的。
作为一种解决方法,您可以创建一个静态getter / setter并将其初始化为类中的属性值'静态初始化器。