我在代码中使用注释,并且尝试使用在运行时确定的值。
我将列表定义为static final(lst),并将一些元素添加到此列表中。
static final
使用时lst.get(i),出现编译错误:
lst.get(i)
The value for annotation attribute must be a constant expression
这个问题有什么解决方案?
注释的值必须是一个编译时间常数,因此没有简单的方法可以完成您想做的事情。
另请参见此处:如何通过Constant java为注释提供值
如果在尝试运行程序之前知道该值,则可以使用一些编译时工具(ant,maven?)进行配置。