我有以下注释: @ javax.ws.rs.DefaultValue(“212”)长位
我想重用已经定义为注释参数的“final static”值。像这样:
final static final long PERMISSIONS = PERMISSION_A | PERMISSION_B; //这是212
但由于注释需要“常量表达式”,因此无法进行:
@DefaultValue(String.valueof(PERMISSIONS))长位
有没有办法实现这个目标?
答案 0 :(得分:1)
String.valueOf(PERMISSIONS)
不被识别为编译时时间常量表达式,但这是:
"" + PERMISSIONS
所以使用:
@DefaultValue("" + PERMISSIONS)
显然,这不是一般案例解决方案。恰好是从常量数字类型构造String的编译时常量方法。比如说你有一个String常量表示一个整数,并希望将它转换为int
以传递给注释,那么你就不走运了。