java8 重复注解_Java8新特性_重复注解与类型注解
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新特性_重复注解与类型注解相关推荐
- java8 list切片_Java8新特性_创建 Stream、流筛选与切片
package com.atguigu.java8; import java.util.ArrayList; import java.util.Arrays; import java.util.Ite ...
- java8 stream遍历_Java8新特性:Stream流详解
1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...
- java8遍历数组_java8新特性,使用流遍历集合
在这篇"Java 8新特性教程"系列文章中,我们会深入解释,并通过代码来展示,如何通过流来遍历集合,如何从集合和数组来创建流,以及怎么聚合流的值. 在之前的文章"遍历.过 ...
- java8 lambda 接口_Java8新特性之一:Lambda表达式
Java8是自java5之后最重大的一次更新,它给JAVA语言带来了很多新的特性(包括编译器.类库.工具类.JVM等),其中最重要的升级是它给我们带来了Lambda表达式和Stream API. 1. ...
- java8 lambda判断_Java8新特性-Lambda表达式
Predicate接口使用 请在测试类main方法中完成以下需求 已知有Integer[] arr = {-12345, 9999, 520, 0,-38,-7758520,941213} a) 使用 ...
- java+串行和并行的区别_Java8新特性_并行流与串行流
1.Java8中forkjoin框架使用更加简单了 1.7中的ForkJoin框架编码复杂且容易出错,而8中的编码则十分简单 JDK1.7时开发者需要自定义计算类,如 package com.atgu ...
- java8 collect 类型转换_java8新特性之list转换
// 根据id去重 List unique = appleList.stream().collect( collectingAndThen( toCollection(() -> new Tre ...
- java8 构造函数引用_java8新特性之方法引用与构造器引用
方法引用与构造器引用 关于lambda表达式,我们已经知道了,一般是有两部分组成.箭头操作符(->)左侧是lambda体的参数列表,右侧是lambda体,而lambda体里面的操作,有些情况下可 ...
- JDK8新特性之重复注解
转载自 JDK8新特性之重复注解 什么是重复注解 下面是JDK8中的重复注解( java.lang.annotation.Repeatable)定义的源码. @Documented @Retentio ...
最新文章
- JavaScript实时更新中国标准时间
- 关于android基础教程一书的初步解读后发现的一些问题
- python读取excel日期内容读出来是数字-Python xlrd读取excel日期类型的2种方法
- 对 /sbin/nologin 的理解
- Java学习教程整理
- springMVC 统一异常处理异常处理类的使用
- java修饰方法有哪些,探讨Java语言中那些修饰符
- 【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理
- CefSharp 支持MP4
- sublime用cmd窗口调试python_Sublime Text设置程序输出窗口为dos窗口
- 让win7任务栏资源管理器默认打开的“计算机”而不是“库”文件夹
- java上下左右_上下左右代替maquee的滚动代码
- 网络基础知识(黑马教程笔记)-4-http请求与响应的处理
- GEE开发之Landsat8_SR计算NDVI逐年时序变化
- MDK5:正点原子stm32遇Target not created的解决方法
- 与卿共赴鸿蒙是什么意思,『为君倾笑°‖笑红颜』「古风」唯美的古风句子,古风签必备!...
- Minimum supported Gradle version is 6.1.1. Current version is 5.6.4.
- 仿照苏宁易购小程序页面
- 为什么可以做Shopyy独立站
- 笔试加分题:有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定可以找出有毒的水?