我有枚舉:枚舉靜態數組和註釋值混亂
public enum Scope {
USER, GLOBAL;
public static final Scope[] TRANSIENT = {};
public static final Scope[] USER_OVER_GLOBAL = {GLOBAL, USER};
public static final Scope[] GLOBAL_OVER_USER = {USER, GLOBAL};
}
和註釋:
public @interface Config {
public Scope[] load() default Scope.GLOBAL_OVER_USER; // Can't use this defval
public Scope[] save() default Scope.USER;
}
爲什麼我不能用靜態數組作爲默認值標註的財產?我的NetBeans 7.3 Beta告訴我需要Scope
,但發現Scope[]
- 正如你所看到的,這不是真的。是否存在NB或Java 7相關的混淆?
你確定錯誤發生在所示的行上?因爲你的代碼在下面的代碼行中應該失敗 – Perception
@Perception:這是註釋,所以'USER'被視爲'{USER}',它不是錯誤類型。爲註解的默認值創建的值 – kbec