Je pense que cela n'est peut-être pas possible en Java car l'annotation et ses paramètres sont résolus au moment de la compilation. J'ai une interface comme suit,
public interface FieldValues {
String[] FIELD1 = new String[]{"value1", "value2"};
}
et une autre classe comme,
@SomeAnnotation(locations = {"value1", "value2"})
public class MyClass {
....
}
Je marque de nombreuses classes avec l'annotation et j'aimerais savoir si je peux éviter de spécifier les chaînes dans chaque annotation que je préférerais plutôt utiliser
@SomeAnnotation(locations = FieldValues.FIELD1)
public class MyClass {
....
}
Cependant, cela donne des erreurs de compilation comme la valeur d'annotation devrait être un initialiseur de tableau, etc. Est-ce que quelqu'un sait comment je peux utiliser une constante String ou une constante String [] pour fournir une valeur à une annotation?