S'il est possible (comme, vous êtes autorisé à modifier le code), modifiez ces constantes dans un enum
. De cette façon, vous pouvez facilement coder une fonction "recherche inversée" en ayant une valeur associée à chaque entrée enum.
En théorie, si vous avez chaque entrée représentant un nombre de 0..N, vous pouvez même utiliser le numéro de l'entrée (il est donné par l'énumération), mais ce n'est pas exactement une bonne pratique.
Puisque vous ne pouvez pas utiliser une énumération, vous pouvez la pirater par réflexion (attention, c'est fugace).
Accessing Java static final ivar value through reflection
Ce fil a un code qui accède aux valeurs public static final
avec la réflexion. Vous pouvez utiliser une carte pour stocker cette relation, la rechercher en temps réel, ou essayer de l'encapsuler dans un Enum, comme Jon Skeet l'a suggéré, et utiliser cette énumération à partir de maintenant (avec tous les avantages que cela apporte).
Je suis en train de deviner qu'il y a une bibliothèque de réflexion Apache qui pourrait aider avec ça. –