有没有办法在另一个注释中使用注释的值?

时间:2013-05-22 03:48:03

标签: java annotations

我的代码中有几个运行时注释,并且其中一些有重复的值,例如:

@A(value="/get")
@B(value="/get")
@C(value="/get")
public void methodA(){}

有什么方法可以使用预定义的注释值吗?如:

@A(value="/get")
@B(value=A.value)
@C(value=A.value)
public void methodA(){}

1 个答案:

答案 0 :(得分:1)

specification requires that Annotation values be compile-time constants,因此您无法在编译时引用另一个注释的值,但它们都可以共享相同的编译时常量:

private static final String COMMON = "/get";

@A(value=COMMON)
@B(value=COMMON)
@C(value=COMMON)
public void methodA() { /* ... */ }