java8新特性:重复注解与类型注解

 时间:2026-02-18 02:37:47

1、定义一个注解类:

package com.gwolf;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.*;

import static java.lang.annotation.ElementType.CONSTRUCTOR;

import static java.lang.annotation.ElementType.LOCAL_VARIABLE;

@Repeatable(MyAnnocations.class)

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})

@Retention(RetentionPolicy.RUNTIME)

public @interface MyAnnocation {

    String value() default  "gwolf";

}

java8新特性:重复注解与类型注解

2、定义一个注解容器类

package com.gwolf;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.*;

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})

@Retention(RetentionPolicy.RUNTIME)

public @interface MyAnnocations {

    MyAnnocation[] value();

}

java8新特性:重复注解与类型注解

3、定义重复注解:

package com.gwolf;

public class TestAnotation {

    

    @MyAnnocation("Hello")

    @MyAnnocation("World")

    public void show() {

        

    }

}

java8新特性:重复注解与类型注解

4、类型注解关键字:TYPE_PARAMETER

@Repeatable(MyAnnocations.class)

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE,TYPE_PARAMETER})

@Retention(RetentionPolicy.RUNTIME)

public @interface MyAnnocation {

    String value() default  "gwolf";

}

java8新特性:重复注解与类型注解

5、使用类型注解:

public  void test(@MyAnnocation("abc") String str) {

        Class<TestAnotation> clazz = TestAnotation.class;

    }

java8新特性:重复注解与类型注解

6、整体程序代码如下:

package com.gwolf;

import java.lang.reflect.Method;

public class TestAnotation {

    

    @MyAnnocation("Hello")

    @MyAnnocation("World")

    public void show() {

        

    }

    

    public  void test(@MyAnnocation("abc") String str) {

        Class<TestAnotation> clazz = TestAnotation.class;

    }

}

java8新特性:重复注解与类型注解

  • GoldenDict 如何设置字体?
  • Maven学习(5)-maven的坐标
  • 如何使用STS编辑器创建SpringBoot聚合工程
  • jquery中each的两个参数有什么用
  • 如何通过JMeter和JConsole测试监控Tomcat的性能
  • 热门搜索
    控制情绪的方法 红烧肉的家常做法视频 单纯疱疹是怎么引起的 香港马会资料大全 怎么用纸折盒子 茶花的养殖方法 香港区号拨打方法 怎么选购钻石 工商管理专业怎么样 剪影怎么拍