无法编译:
public static Class<? extends Annotation>[] annots = {
NotNull.class,
ColumnType.class,
RuntimeType.class,
DefaultValue.class
};
我收到此错误:
通用数组创建
请注意,上述类是注释声明,如下所示:
@Retention(RetentionPolicy.RUNTIME)
public @interface NotNull {
boolean value() default false;
}
@Retention(RetentionPolicy.RUNTIME)
public @interface ColumnType {
Class<?> value();
}
有人知道我如何创建通用数组吗?
答案 0 :(得分:3)
您可以改为使用列表
public static List<Class<? extends Annotation>> annots = Arrays.asList(
NotNull.class,
RuntimeType.class,
DefaultValue.class);
};
答案 1 :(得分:1)
您将如下创建:
public static Class<? extends Annotation>[] annots = new Class[] {
NotNull.class,
ColumnType.class,
RuntimeType.class,
DefaultValue.class
};
但是,它将给您警告。
类型安全性:Class []类型的表达式需要未经检查的转换 符合Class []