我在“自定义注释”下面写过。
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String value();
}
并使用以下注释。
@MyAnnotation("someValue")
public void someMethod(){
}
上面的代码工作正常,没有任何问题。
但是在注释类中,必须重新命名value()方法名称。我可以做以下事情吗?
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String name();
}
我试着做,但是蚀给了编译错误。
- The attribute value is undefined for the annotation type
MyAnnotation
- The annotation @MyAnnotation must define the attribute
name
任何原因?
最佳答案
像这样使用它:
@MyAnnotation(name="someValue")
public void someMethod(){
}
因为默认情况下注解具有值方法,所以如果您这样指定
@MyAnnotation("someValue")
public void someMethod(){
}
默认情况下将其作为
value="someValue"
关于java - 创建自定义注释并在Java中使用它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21399318/