annotation 自定义注解




----------------------annotation----------------------------------------------------------------------


内建annotation的RetentionPolicy 基本使用


------自定义注解---必须在自己的文件夹呢
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;


@Retention(value=RetentionPolicy.RUNTIME) //表示此annotation在运行的时候有效
public  @interface Sty {
public String key() default "hahaha";
public String hello() default "xx";
        public String[] hello2() ; //定义一个数组
}


------使用自定义注解---------------------
@Sty(key = "999",hello="000",hello2={"111","2","ppp"})
public class TTTT {


}






-------通过反射取得annotation----------------
Class<?> class1 = Class.forName("com.dt.annotation.Demo");
Method method = class1.getMethod("toString");
Annotation annotation[] = method.getAnnotations();
for(Annotation annotation2:annotation){
System.out.println(annotation2);
}






-----------------------------
@Sty(key = "999",hello="000")
public class TTTT {


public static void main(String[] args) throws Exception {


Class<?> class1 = Class.forName("com.dt.annotation.Demo");
Method method = class1.getMethod("toString");
Annotation annotation[] = method.getAnnotations();
for(Annotation annotation2:annotation){
System.out.println(annotation2);
}


if (method.isAnnotationPresent(Sty.class)) {
Sty aSty = method.getAnnotation(Sty.class);  //Sty.class 是自定义annotation
String key = aSty.key();
String hello=aSty.hello();
System.out.println(key+" ,"+hello);
}


}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值