我们已经构建了一个注释,用于验证方法的输入。像这样的东西:@InputValidation(paramName = "foo", regularExpression = RegularExpressionConstants.FOO_REG_EX)我们的RegularExpressionConstants类加载了不同的字符串常量,它们都代表不同的正则表达式。这个类开始看起来很乱,所以我开始尝试用一些方法来整理它,使它更容易阅读等等。所以这个类现在看起来像这样:public static final String FOO_REG_EX = alphanumericWithRange(1, 16);public static final String BAR_REG_EX = alphanumericWithRange(2,4);private static String alphanumericWithRange(int lowerLimit, int upperLimit) { "[a-zA-Z0-9]{" + lowerLimit + "," + upperLimit + "}";}RegularExpressionConstants 类可以编译,但注释不再编译。错误是Attribute value must be constant。在查看了 StackOverflow 上的一些相关问题后,我明白了为什么会发生这种情况。我主要想知道是否有什么方法可以在常量类中实现我想要的整洁而不导致这个问题?还是我只需要处理很多凌乱的常量?
2 回答

守候你守候我
TA贡献1802条经验 获得超10个赞
除非您遵循ernest 的建议并重构代码,否则您根本做不到。您的案例中缺少的部分是JSL
(编译时常量是什么)的强制执行
用常量表达式初始化
调用方法根本不是;即使您可以判断这是一个常量,编译器也不能也不会。
添加回答
举报
0/150
提交
取消