Java中如何通过代码知道某个方法或某个类是否在声明时被标注为deprecated?

Java中如何通过代码知道某个方法或某个类是否在声明时被标注为deprecated?
检举|2007-08-08 16:54Crinson | 分类:JAVA相关 |浏览6374次
例如代码:
/**
 * @deprecated
 */
public class A{
}


public class B{
    private A a=new A();
    public void Judge(){
        //TODO 如何在代码中知道A在javadoc中被标注成deprecated?
    }
}


楼下的方法好像是用了annotation特性才行的,如果是JDK1.4之前,没有annotation, 该如何判断?


后面那个只是得到类中定义放方法而已吧,似乎并不能知道哪些方法是过时的.
我来帮他解答
提问者采纳
2007-08-10 17:49
给你一个主函数参考一下吧,其实非常的简单,这个方法是JAVA TIGER的新特性


 public static void main(String[] args) {
     try {
     System.out.println(String.class.isAnnotationPresent(Deprecated.class));
      System.out.println(String.class.getMethod("getBytes",int.class,int.class, byte[].class,int.class).isAnnotationPresent(Deprecated.class));
      
  } catch (Exception e) {
      // TODO: handle exception
      e.printStackTrace();
  }
 }


例子用的是String类做的示范。可以自由换成其它类。
-------------------------------------------------------
这个有帮助吗
 public static void main(String[] args) {
  try {
   System.out.println(String.class.getDeclaredMethods().length);
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }
 }
-----------------------------------------------------
5.0的JDK生成1.4版本的CLASS字节码留下了@deprecated,但是其它的JAVADOC都被丢掉了。
在不提供这种反射机制的1.4时代,我们都非常怀疑读那个@deprecated的可能性。也许你可以试试用读字节流的方法判断@deprecated是否在关注的地方出现。
提问者评价
非常感谢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值