资讯专栏INFORMATION COLUMN

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

psychola / 1771人阅读

摘要:概述简介对注解处理提供了两点改进,可重复的注解及可用于类型的注解重复注解要想定义重复注解,必须给它定义的容器类,还要使用注解修饰一下容器类测试方法获取方法上的注解类型注解就是向添加一种类型使用本文首发于凌风博客新特性之重复注解与类型注解作者

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 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 新特性之重复注解与类型注解
作者:凌风

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72778.html

相关文章

  • 乐字节-Java8特性Base64和重复注解类型注解

    摘要:上一篇小乐给大家说了乐字节新特性之,接下来小乐继续给大家说一说新特性之和重复注解与类型注解。内部类与方法相关的内部类这是一个静态类。也是一个静态类。 上一篇小乐给大家说了《乐字节-Java8新特性之Date API》,接下来小乐继续给大家说一说Java8新特性之Base64和重复注解与类型注解。 一、Base64 在Java 8中,内置了Base64编解码相关的特性。Java 8中使用...

    1treeS 评论0 收藏0
  • Java 总结

    摘要:中的详解必修个多线程问题总结个多线程问题总结有哪些源代码看了后让你收获很多,代码思维和能力有较大的提升有哪些源代码看了后让你收获很多,代码思维和能力有较大的提升开源的运行原理从虚拟机工作流程看运行原理。 自己实现集合框架 (三): 单链表的实现 自己实现集合框架 (三): 单链表的实现 基于 POI 封装 ExcelUtil 精简的 Excel 导入导出 由于 poi 本身只是针对于 ...

    caspar 评论0 收藏0
  • Java基础知识整理注解

    摘要:注解提供了一种安全的类似注释的机制,用来将任何的信息或元数据与程序元素类方法成员变量等进行关联。为程序的元素类方法成员变量加上更直观更明了的说明,这些说明与程序的业务逻辑无关,并且提供给指定的工具或框架使用。 什么是注解? Annotation 是 Java5 之后开始引入的新特性,中文为注解。注解提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(...

    blastz 评论0 收藏0
  • Java核心技术教程整理,长期更

    以下是Java技术栈微信公众号发布的关于 Java 的技术干货,从以下几个方面汇总。 Java 基础篇 Java 集合篇 Java 多线程篇 Java JVM篇 Java 进阶篇 Java 新特性篇 Java 工具篇 Java 书籍篇 Java基础篇 8张图带你轻松温习 Java 知识 Java父类强制转换子类原则 一张图搞清楚 Java 异常机制 通用唯一标识码UUID的介绍及使用 字符串...

    Anchorer 评论0 收藏0
  • Java 8 简明教程

    摘要:简明教程原文译者黄小非来源简明教程并没有没落,人们很快就会发现这一点欢迎阅读我编写的介绍。编译器会自动地选择合适的构造函数来匹配函数的签名,并选择正确的构造函数形式。 Java 8 简明教程 原文:Java 8 Tutorial 译者:ImportNew.com - 黄小非 来源:Java 8简明教程 ‍ Java并没有没落,人们很快就会发现这一点 欢迎阅读我编写的Java ...

    testHs 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<