0

首先我使用注解来接收一些参数,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 must initial as an Array,所以注释似乎无法识别 const 数组,有人知道为什么吗?

4

1 回答 1

0

因为注解属性值必须是const。但即使你的数组​​是最终的,它的内容也是可变的。所以不是注解不能识别const array,没有const array

于 2018-01-17T07:25:09.963 回答