在注解接口中使用UUID作为默认值
Use UUID in annotation interface as default value
可以在注解属性中使用UUID吗?我尝试在注释中添加 UUID 作为属性,如下所示,但它给了我错误 Attribute value must be constant.
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String name() default "";
UUID guid() default UUID.random(); // there I have error
}
我也尝试了至少 null instad of random UUID 但同样的错误。
谢谢。
查看注释文档 (here's Wikipedia):
Return types are restricted to primitives, String, Class, enums, annotations, and arrays of the preceding types.
您可以将定义更改为
String guid() default UUID.random().toString();
感谢 Holger 指出:这也行不通。该错误告诉您该值必须是 constant,即根本不是方法调用。
可以在注解属性中使用UUID吗?我尝试在注释中添加 UUID 作为属性,如下所示,但它给了我错误 Attribute value must be constant.
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String name() default "";
UUID guid() default UUID.random(); // there I have error
}
我也尝试了至少 null instad of random UUID 但同样的错误。
谢谢。
查看注释文档 (here's Wikipedia):
Return types are restricted to primitives, String, Class, enums, annotations, and arrays of the preceding types.
您可以将定义更改为
String guid() default UUID.random().toString();
感谢 Holger 指出:这也行不通。该错误告诉您该值必须是 constant,即根本不是方法调用。