一尘不染

摆脱“注释属性的值必须是一个常量表达式”消息

java

我在代码中使用注释,并且尝试使用在运行时确定的值。

我将列表定义为static final(lst),并将一些元素添加到此列表中。

使用时lst.get(i),出现编译错误:

The value for annotation attribute must be a constant expression

这个问题有什么解决方案?


阅读 509

收藏
2020-09-08

共1个答案

一尘不染

注释的值必须是一个编译时间常数,因此没有简单的方法可以完成您想做的事情。

另请参见此处:如何通过Constant
java为注释提供值

如果在尝试运行程序之前知道该值,则可以使用一些编译时工具(ant,maven?)进行配置。

2020-09-08