Я думаю, что это может быть невозможно в 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 [] для предоставления значения аннотации?