枚举类与注解9:类型注解(JDK8新特性)

类型注解:

关于元注解@Target的参数类型ElementType枚举值多了两个:TYPE_PARAMETER,TYPE_USE

ElementType.TYPE_PARAMETER:表示该注解能写在类型变量的声明语句中(如,泛型声明)

ElementType.TYPE_USE:表示该注解能写在使用类型的任何语句中。

具体举例:

class Generic<@MyAnnotation T>{

public void show()throws @MyAnnotation RuntimeException{

ArrayList<@MyAnnotation String> list =new ArrayList<>();

int num = (@MyAnnotation int)10L;

}

MyAnnotation.java

import java.lang.annotation.*;

import static java.lang.annotation.ElementType.*;

@Inherited

@Repeatable(MyAnnotations.class)

@Retention(RetentionPolicy.RUNTIME)

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

public @interface MyAnnotation {

    String value()default "Hello";

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容