我想在注释界面中输入一个整数数组作为输入,就像这样。
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface CheckAccess {
AccessType accessType() default AccessType.ALL;
Integer[] permissions();
}
这样在提供输入时,我可以使用一些具有整数值的常量。像这样: -
@CheckAccess(permissions={CAN_READ, CAN_WRITE})
CAN_READ = 1;
CAN_WRITE=2;
我怎样才能做到这一点?因为当我设置Integer []时会抛出编译错误但对String []工作正常。
答案 0 :(得分:3)
Java编译器(至少是我的Eclipse编译器)给出了以下错误消息:
注释属性
Integer[]
的类型permissions
无效;
只允许原始类型,String
,Class
,注释,枚举 或其一维阵列
因此,您需要将Integer[]
替换为int[]
,如下所示:
int[] permissions() default 0;