Java自定义annotation的使用,大家先看传值部分。
例子:
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
//自定义Annotatiation
//设置注解的保存范围,这是个出现在自定义注解里面的一个注解,
//它的范围有三种,
//RUNTIME:源文件、class文件、JVM。这是比较常用的,也是最重要的。
//CLASS:源文件、class文件
//SOURCE:源文件
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnno {//这个注解规定了五个参数,在调用的时候其中默认的可以传参数也可以不传参数
public String value();//参数1,字符串
public int value2();//参数2,int类型
public String[] value3();//字符串数组
public String value4() default "默认值";//字符串数组
public MyEnum value5();//规定annotation里面必须是枚举形
}
看看怎么调用的?
//自定义annotation传递参数,有默认值的无需传递参数
@MyAnno(value="fff",value2=111,value3="{a,b}",value5=MyEnum.BLUE)
public class UseMyAnno {
}
//枚举类型取固定的值
enum MyEnum{
RED,GREEN,BLUE
}
看看吧,注解传参数非常简单,可以是各种类型的。