【发布时间】:2012-11-13 11:43:33
【问题描述】:
我有枚举:
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:这是注解,所以
USER被视为{USER},这不是错误输入。问题在于使用静态手工制作的值作为注释的默认值。
标签: java enums annotations netbeans-7