zoukankan      html  css  js  c++  java
  • 组合注解(Annotation)

    import java.lang.annotation.Documented;
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    /**
     * @author: lihui
     * @date: 2020-05-20
     */
    public class CompositeAnnotationStudy {
        public static void main(String[] args) {
            AnnotationTwo annotationTwo = ClassInAnnotation.class.getAnnotation(AnnotationTwo.class);
            System.out.println(annotationTwo.basePackages());
            AnnotationOne annotationOne = annotationTwo.annotationType().getAnnotation(AnnotationOne.class);
            System.out.println(annotationOne.value());
    
            System.out.println(annotationTwo.getClass().getAnnotation(AnnotationOne.class));
        }
    }
    
    @AnnotationTwo()
    class ClassInAnnotation {
    }
    
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @AnnotationOne 
    @interface AnnotationTwo {
        String basePackages() default "basePackages";
    }
    
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented 
    @interface AnnotationOne {
        String value() default "value";
    }
    

    输出如下:

    basePackages
    value
    null
    
    可以看到:一个注解就可以得到许多种注解的信息。 
    
    注意:
    获得一个注解的注解不是通过这种方式:
    annotation.getClass().getAnnotation(AnnotationOne.class);
    而是通过以下方式:
    annotation.annotationType().getAnnotation(AnnotationOne.class);
    
  • 相关阅读:
    nao机器人使用手册
    突然感觉简单的东西是最美的
    window10教育版激活失败
    linux新分区无法新建文件夹
    看看CSDN的吃相
    游戏mod启动器原理
    显示器选购指南
    维修老电视
    快乐小丑
    这猫会关水龙头,所以你只要给猫猫打开就行——华中师范大学的胖猫
  • 原文地址:https://www.cnblogs.com/eaglelihh/p/12925568.html
Copyright © 2011-2022 走看看