Sto pensando che questo potrebbe non essere possibile in Java perché l'annotazione e i suoi parametri vengono risolti al momento della compilazione. Ho un'interfaccia come segue,
public interface FieldValues {
String[] FIELD1 = new String[]{"value1", "value2"};
}
e un'altra classe come
@SomeAnnotation(locations = {"value1", "value2"})
public class MyClass {
....
}
Contrassegno molte classi con l'annotazione e vorrei sapere se posso evitare di specificare le stringhe in ogni annotazione che preferirei invece usare
@SomeAnnotation(locations = FieldValues.FIELD1)
public class MyClass {
....
}
Tuttavia, ciò fornisce errori di compilazione come il valore di annotazione dovrebbe essere un inizializzatore di array, ecc. Qualcuno sa come posso usare una costante String o una costante String [] per fornire valore a un'annotazione?