注释属性Min.value的值必须是一个常量表达式
Eclipse不断给我错误:
The value for annotation attribute Min.value must be a constant expression
但是我绝对可以给注解一个常量。
private static final int MIN_YEAR = Calendar.getInstance().get(Calendar.YEAR) - 1;@Min(MIN_YEAR)
如果我将其更改为
private static final int MIN_YEAR = 2013;
很高兴,但我不必这样做。有谁知道为什么我的MIN_YEAR常量使用评估表达式而不是纯数字声明时不被视为常量?
回答:
表达方式
private static final int MIN_YEAR = Calendar.getInstance().get(Calendar.YEAR) - 1;
将仅在运行时确定,但是
private static final int MIN_YEAR = 2013;
是在编译时确定的,因此允许使用,因为注释中的值应在编译时而不是运行时解析。
以上是 注释属性Min.value的值必须是一个常量表达式 的全部内容, 来源链接: utcz.com/qa/426341.html