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