注释类型与注释(Java)

时间:2014-06-17 20:52:39

标签: java annotations

Annotation类型和Annotation本身之间的真正区别是什么。我的老师告诉我解决这个问题,因为他说,这两个是两个不同的东西,我最好不要混淆它们。

有人可以向我解释一下吗?我在互联网上查了一下,但我发现没有任何用处。 我真的很感兴趣。

谢谢。 :)

@Target(value = ElementType.METHOD)
@Retention(value = RetentionPolicy.RUNTIME)
public @interface DBoperation {

    public enum ParamType { 
         FLOAT, INT, DOUBLE, CHAR, BOOLEAN, LONG, SHORT, BYTE, REFERENCE, NONE
     }

    public enum OperationType {
         CONNECT, DISCONNECT, UPDATE, QUERY, DELETE
     }

     public OperationType typOp() default OperationType.QUERY;
     public ParamType typParam() default ParamType.REFERENCE;
     String description();    
}

1 个答案:

答案 0 :(得分:0)

您的代码示例是注释类型的声明。对于使用注释进行注释的每个方法,都会有一个包含注释数据的注释。

您可以使用反射获取注释,例如像这样:

Class<?> annotatedClass = // put some class here
int methodIndex = // index of a annotated method
// get the annotation
// dbOperation is the annotation, DBoperation the type
DBoperation dbOperation = annotatedClass.getMethods()[methodIndex].getAnnotation(DBoperation.class);

// get data from the annotation 
String operationDescription = dbOperation.description();