创建自定义注释并在java中使用它?

时间:2014-01-28 07:25:28

标签: java annotations java-ee-7

我在自定义注释下面写了。

@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();

    }

我尝试过,但是eclipse正在给出编译错误。

- The attribute value is undefined for the annotation type 
     MyAnnotation
    - The annotation @MyAnnotation must define the attribute 
     name

任何原因?

1 个答案:

答案 0 :(得分:3)

像这样使用:

@MyAnnotation(name="someValue")
public void someMethod(){


}

因为默认情况下注释具有值方法所以如果你指定这样

@MyAnnotation("someValue")
    public void someMethod(){


    }

默认情况下会将其视为value="someValue"