我认为这在Java中可能无法实现,因为注释及其参数在编译时已解决。我有一个如下的界面,
public interface FieldValues {
String[] FIELD1 = new String[]{"value1", "value2"};
}
和另一类,
@SomeAnnotation(locations = {"value1", "value2"})
public class MyClass {
....
}
我用注解标记了许多类,我想知道是否可以避免在每个注解中指定字符串,而宁愿使用
@SomeAnnotation(locations = FieldValues.FIELD1)
public class MyClass {
....
}
但是,这会产生诸如注释值之类的编译错误,该值应该是数组初始化程序等。有人知道我如何使用String常量或String []常量为注释提供值吗?