首先我使用注释来接收一些参数,String和String [],例如
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface RedisCacheAble {
String value() default "";
String[] names() default {};
}
@RedisCacheAble(value="XXOO",names = {"a","b"} )
public OrderDetailPO orderTestAble(String op) {}
然后我的经理说,值和名称必须使用const,因为其他地方可能会使用这个值,所以我改变了我的代码:
public static final String XXOO = "xxoo";
public static final String XOARR = {"orderCode","accountId"};
@RedisCacheAble(value=XXOO, names = XOARR )
public OrderDetailPO orderTestAble(String op) { //
}
不幸的是eclipse抛出一个错误:XOARR必须初始化为一个数组,所以它的注释似乎无法识别一个const数组,任何人都知道为什么?
答案 0 :(得分:0)
因为注释属性值必须是const。但即使你的阵列是最终的,它的内容也是可变的。因此,没有注释无法识别const array
,没有const array
。