Java反射机制实现全部注解获取

本文通过一个Java示例展示了如何使用注解(@Deprecated 和 @SuppressWarnings)并利用反射机制获取这些注解。运行结果仅显示了运行期保留的@Deprecated注解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 代码

class Info{
    //给mytoString方法加了2个内建Annotation
    @Deprecated
    @SuppressWarnings(value = "This is a waring!")
    public String mytoString(){
        return "hello world";
    }
}

class GetAnnotations{
    public static void main(String[] args) throws Exception
    {
        Class<?> cls=Class.forName("Info");
        Method toStringMethod=cls.getMethod("mytoString");
        //取得全部的注解
        Annotation ans[]=toStringMethod.getAnnotations();
        for(int i=0;i<ans.length;i++)
        {
            //获得mytoString方法上的所有Annotation。
            System.out.println(ans[i]);
        }
    }
}

二 运行结果

@java.lang.Deprecated()

三 说明

2个内建的Annotation中只有@Deprecated是RUNTIME类型,所以只输出了Deprecated。

只有定义了@Retention(value=RUNTIME)的Annotation才能在程序运行时被反射机制取得。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值