我认为这在 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 []常量为注释提供值吗?