J'ai une annotation qui nécessite une chaîne de constante de compilation et que je voulais initialiser avec une constante de compilation int de l'un des bibliothèques que j'utilise. Donc ce que je fini par faire était quelque chose comme ceci:Convertir une constante de temps de compilation en chaîne de constante de compilation en Java
public class LibraryClass {
public static int CONSTANT_INT = 0; //Where 0 could be whatever
}
public class MyClass {
private static final String CONSTANT_STRING = "" + LibraryClass.CONSTANT_INT;
@AnnotationThatNeedsString(CONSTANT_STRING)
public void myMethod() {
//Do something
}
}
Ma question est, est-il une meilleure façon de convertir des primitives de compilation constante de temps que d'utiliser des chaînes "" + PRIMITIVE_TO_CONVERT
? Un moyen de "lancer" une primitive à String? Parce que faire comme ça est un peu bizarre.
Mais cela ne peut pas être utilisé directement dans l'annotation, uniquement dans l'initialisation CONSTANT_STRING. –
Est-ce que "private static final Chaîne CONSTANT_STRING = String.valueOf (LibraryClass.CONSTANT_INT);" n'est pas applicable? – Anthony
Oui, cela fonctionnera et est une réponse correcte. Mais je pense que le créateur de la question a demandé quelque chose comme @AnnotationThatNeedsString (someCleverCastOf (CONSTANT_INT)). –