这不编译:
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();
}
有谁知道如何创建一个通用数组?
您可以改用List
public static List<Class<? extends Annotation>> annots = Arrays.asList(
NotNull.class,
RuntimeType.class,
DefaultValue.class);
};
你创建如下:
public static Class<? extends Annotation>[] annots = new Class[] {
NotNull.class,
ColumnType.class,
RuntimeType.class,
DefaultValue.class
};
但是,它会给你一个警告。
类型安全:Class []类型的表达式需要未经检查的转换以符合Class []