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

标签 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

有什么理由吗?

最佳答案

像这样使用它:

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


}

因为默认情况下注释有 value 方法,所以如果您这样指定

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


    }

它默认将其视为value="someValue"

关于java - 创建自定义注释并在java中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21399318/

相关文章:

java - 从 Java 访问 gradle 资源

java - 在快速排序中修改比较器

java - 带注释的类是否有通配符

java - 在调用 save() hibernate 4.3 之前必须手动分配此类的 ids

jakarta-ee - @Named 和@Model 的区别

java - 为什么 @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 不提交?

java - 线程 "main"com.google.apphosting.api.ApiProxy$CallNotFoundException : The API package 'mail' or call 'Send()' was not found 中的异常

java - 获取字符串中指定月份的最后一天

java - 注释和正则表达式

java - org.hibernate.MappingException : Unknown entity