我如何像@name(“Luke”)一样在括号内没有属性的情况下进行Java注释?
2022-08-31 20:50:00
如何进行自定义Java注释,括号内没有属性名称?
我不想要这个:.我只想像Servlets一样,即:@annotation_name(att=valor)
@WebServlet("/main")
如何进行自定义Java注释,括号内没有属性名称?
我不想要这个:.我只想像Servlets一样,即:@annotation_name(att=valor)
@WebServlet("/main")
使用名为 的属性定义注释,然后可以省略属性名称:value
@interface CustomAnnotation
{
String value();
}
这可以这样使用:
@CustomAnnotation("/main")
// ...
指定名为 value 的属性:
public @interface MyAnnotation {
String value();
}
如果它们具有默认值,则不必是唯一的属性:
public @interface MyAnnotation {
String value();
int myInteger() default 0;
}
但是,如果要显式地为属性分配值以外的值,则必须显式赋值。也就是说:
@MyAnnotation("foo")
@MyAnnotation(value = "foo", myInteger = 1)
工程
但
@MyAnnotatino("foo", myInteger = 1)
不