1、总结

1、忘记注解上该写什么时,可以随意写一个注解然后点击进去参考、复制

2、默认情况下不支持重复注解,需要定义容器

3、标注注解为@Repeatable

4、若需要获取注解的值,可以通过反射获取

2、源码

TestAnnotation

package com.atguigu.java8;

import org.junit.Test;

import java.lang.reflect.Method;

/**

* @author wertherwang

* @create 2019-09-26 15:41

*/

public class TestAnnotation {

@Test

public void test1() throws NoSuchMethodException {

Class clazz = TestAnnotation.class;

Method show = clazz.getMethod("show");

MyAnnotation[] mas = show.getAnnotationsByType(MyAnnotation.class);

for (MyAnnotation myAnnotation : mas) {

System.out.println(myAnnotation.value());

}

}

@MyAnnotation("Hello")

@MyAnnotation("World")

private void show() {

}

}

MyAnnotation

package com.atguigu.java8;

import java.lang.annotation.Repeatable;

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;

/**

* @author wertherwang

* @create 2019-09-26 15:35

*/

@Repeatable(MyAnnotations.class)

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

@Retention(RetentionPolicy.SOURCE)

public @interface MyAnnotation {

String value() default "atguigu";

}

MyAnnotations

package com.atguigu.java8;

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;

/**

* @author wertherwang

* @create 2019-09-26 15:39

*/

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

@Retention(RetentionPolicy.SOURCE)

public @interface MyAnnotations {

MyAnnotation[] value();

}

java8 重复注解_Java8新特性_重复注解与类型注解相关推荐

  1. java8 list切片_Java8新特性_创建 Stream、流筛选与切片

    package com.atguigu.java8; import java.util.ArrayList; import java.util.Arrays; import java.util.Ite ...

  2. java8 stream遍历_Java8新特性:Stream流详解

    1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...

  3. java8遍历数组_java8新特性,使用流遍历集合

    在这篇"Java 8新特性教程"系列文章中,我们会深入解释,并通过代码来展示,如何通过流来遍历集合,如何从集合和数组来创建流,以及怎么聚合流的值. 在之前的文章"遍历.过 ...

  4. java8 lambda 接口_Java8新特性之一:Lambda表达式

    Java8是自java5之后最重大的一次更新,它给JAVA语言带来了很多新的特性(包括编译器.类库.工具类.JVM等),其中最重要的升级是它给我们带来了Lambda表达式和Stream API. 1. ...

  5. java8 lambda判断_Java8新特性-Lambda表达式

    Predicate接口使用 请在测试类main方法中完成以下需求 已知有Integer[] arr = {-12345, 9999, 520, 0,-38,-7758520,941213} a) 使用 ...

  6. java+串行和并行的区别_Java8新特性_并行流与串行流

    1.Java8中forkjoin框架使用更加简单了 1.7中的ForkJoin框架编码复杂且容易出错,而8中的编码则十分简单 JDK1.7时开发者需要自定义计算类,如 package com.atgu ...

  7. java8 collect 类型转换_java8新特性之list转换

    // 根据id去重 List unique = appleList.stream().collect( collectingAndThen( toCollection(() -> new Tre ...

  8. java8 构造函数引用_java8新特性之方法引用与构造器引用

    方法引用与构造器引用 关于lambda表达式,我们已经知道了,一般是有两部分组成.箭头操作符(->)左侧是lambda体的参数列表,右侧是lambda体,而lambda体里面的操作,有些情况下可 ...

  9. JDK8新特性之重复注解

    转载自 JDK8新特性之重复注解 什么是重复注解 下面是JDK8中的重复注解( java.lang.annotation.Repeatable)定义的源码. @Documented @Retentio ...

最新文章

  1. JavaScript实时更新中国标准时间
  2. 关于android基础教程一书的初步解读后发现的一些问题
  3. python读取excel日期内容读出来是数字-Python xlrd读取excel日期类型的2种方法
  4. 对 /sbin/nologin 的理解
  5. Java学习教程整理
  6. springMVC 统一异常处理异常处理类的使用
  7. java修饰方法有哪些,探讨Java语言中那些修饰符
  8. 【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理
  9. CefSharp 支持MP4
  10. sublime用cmd窗口调试python_Sublime Text设置程序输出窗口为dos窗口
  11. 让win7任务栏资源管理器默认打开的“计算机”而不是“库”文件夹
  12. java上下左右_上下左右代替maquee的滚动代码
  13. 网络基础知识(黑马教程笔记)-4-http请求与响应的处理
  14. GEE开发之Landsat8_SR计算NDVI逐年时序变化
  15. MDK5:正点原子stm32遇Target not created的解决方法
  16. 与卿共赴鸿蒙是什么意思,『为君倾笑°‖笑红颜』「古风」唯美的古风句子,古风签必备!...
  17. Minimum supported Gradle version is 6.1.1. Current version is 5.6.4.
  18. 仿照苏宁易购小程序页面
  19. 为什么可以做Shopyy独立站
  20. 笔试加分题:有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定可以找出有毒的水?

热门文章

  1. 一些编译php时的configure 参数
  2. 启动Intent之前先检查是否有合适的接收者
  3. Home vs2013
  4. 安装更新Lenovo Solution Center更新失败!具体问题看内容!要是等官方技术人员解决,估计要等上好一段时间!...
  5. CISCO路由器连接ADSL之PPPoE配置
  6. Revit二次开发之“让对象处于被选择状态”
  7. android google snake
  8. Lync Server新特性
  9. Linux 命令(119)—— diff 命令
  10. Shell 条件表达式的正则匹配