I use annotation in my code, and I try to use value which determine in run time.
I define my list as static final
(lst), and I add to this list some elements.
When I use lst.get(i)
, I get compilation error:
The value for annotation attribute must be a constant expression
What is the solution for this issue?
The value for an annotation must be a compile time constant, so there is no simple way of doing what you are trying to do.
See also here: How to supply value to an annotation from a Constant java
It is possible to use some compile time tools (ant, maven?) to config it if the value is known before you try to run the program.