2017-10-26 13 views
0

먼저 주석을 사용하여 String, String []과 같은 일부 매개 변수를 수신합니다.자바 주석은 const 배열로 param을받을 수 없습니다.

public static final String XXOO = "xxoo"; 
    public static final String XOARR = {"orderCode","accountId"}; 
    @RedisCacheAble(value=XXOO, names = XOARR) 
    public OrderDetailPO orderTestAble(String op) { // 

    } 

불행하게도 일식이 오류가 발생 :

@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를 사용해야합니다, 그래서 그런 코드를 변경했다 XOARR 배열로 초기화해야하므로 주석이 const 배열을 인식 할 수없는 것 같습니다. 이유는 무엇입니까?

답변

0

annotation 속성 값은 const 여야하기 때문입니다. 그러나 당신의 배열조차도 최종적으로, 그 conent 또한 변할 수 있습니다. 따라서 주석이 아니기 때문에 const array을 인식 할 수 없으며 const array이 없습니다.