脚本宝典收集整理的这篇文章主要介绍了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,请注明来意。