2013-05-22 2 views
0

У меня есть несколько времени выполнения аннотаций в своих кодах и имеет некоторое дублированное значение для некоторых из них, например:Можно ли использовать значение аннотации в другой аннотации?

@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

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() { /* ... */ } 
Смежные вопросы