Java 8 新特性之重复注解与类型注解

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java 8 新特性之重复注解与类型注解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 概述

1.2 简介

Java 8 对注解处理提供了两点改进,可重复的注解及可用于类型的注解

2. 重复注解

要想定义重复注解,必须给它定义的容器类,还要使用 @RePEatable 注解修饰一下

@Repeatable(RepetITionAnnotations.class) @Target({TYPE, FIELD, METHOD, PARamETER, CONSTRUCTOR, LOCAL_VARIABLE}) @Retention(Retentionpolicy.RUNTIME) public @interface RepetitionAnnotation {      String value() default "ling";  }
/**  * 容器类  */ @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}) @Retention(RetentionPolicy.RUNTIME) public @interface RepetitionAnnotations {      RepetitionAnnotation[] value();  }

测试方法

public class AnnotationTest {      @Test     public void t1() throws Exception {         Class<AnnotationTest> clazz = AnnotationTest.class;         Method method = clazz.getMethod("show");          // 获取方法上的注解         RepetitionAnnotation[] ras = method.getAnnotationsByType(RepetitionAnnotation.class);          for (RepetitionAnnotation repetitionAnnotation : ras) {             System.out.println(repetitionAnnotation.value());         }      }      @RepetitionAnnotation("Hello")     @RepetitionAnnotation("World")     public void show() {      } }

3. 类型注解

就是向 @Target 添加一种类型 TYPE_PARAMETER

@Repeatable(RepetitionAnnotations.class) @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE,TYPE_PARAMETER}) @Retention(RetentionPolicy.RUNTIME) public @interface RepetitionAnnotation {      String value() default "ling";  }

使用

@RepetitionAnnotation("Hello") @RepetitionAnnotation("World") public void show(@RepetitionAnnotation String str) {  }
本文首发于凌风博客:Java 8 新特性之重复注解与类型注解@H_126_71@作者:凌风

脚本宝典总结

以上是脚本宝典为你收集整理的Java 8 新特性之重复注解与类型注解全部内容,希望文章能够帮你解决Java 8 新特性之重复注解与类型注解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。