我正在创建自定义注释
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyFramework {
public Integer index() default null; // Compiler complains here
}
编译器抱怨不允许使用null
。我不想使索引字段原始类型为int
,因为这没有意义。是否可以为注释字段设置默认的null
值?
Error setting a default null value for an annotation's field的答案提到了Class
类型,因此解决方案有效,但不适用于Integer
,Double
等。>
我正在创建自定义批注@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface MyFramework {public Integer index()默认为null; //编译器在这里抱怨...
您不能使用null
作为默认值。 Java语言规范