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的性能
  • 热门搜索
    感恩老师手抄报图片 安全出行手抄报 运动会手抄报图片 关于鸟的手抄报 文明手抄报资料 喜迎国庆手抄报 关于戒烟的手抄报 关于国庆节的英语手抄报 爱读书手抄报 民族精神手抄报