2

我有以下注释:@javax.ws.rs.DefaultValue("212") Long bits

我想重用已经定义为注释参数的“最终静态”值。像这个:

final static final long PERMISSIONS = PERMISSION_A | 权限_B;//这是212

但是由于注释需要“常量表达式”,所以不可能:

@DefaultValue(String.valueof(PERMISSIONS)) 长位

有没有办法做到这一点?

4

1 回答 1

1
String.valueOf(PERMISSIONS)

不被识别为编译器时常量表达式,但这是:

"" + PERMISSIONS

所以使用:

@DefaultValue("" + PERMISSIONS)

显然,这不是一般情况下的解决方案。恰好有一种编译时常量方法可以从常量数字类型构造字符串。相反,假设您有一个表示整数的 String 常量,并且想将其转换为 anint以传递给注释,那么您将不走运。

于 2013-09-05T22:27:45.003 回答