zoukankan      html  css  js  c++  java
  • @Deprecated注解的使用

    被注解@Deprecated标记的程序元素是不鼓励使用的程序元素,通常是因为它很危险,或者是因为存在更好的替代方案。

    除了对象自身引用自己用@Deprecated标记的方法外,其他情况使用@Deprecated注解标记的类型,方法,字段或构造函数时,Java编译器都会生成deprecation警告。

    先看看@Override注解在Java SE中的声明:

    package java.lang;
    
    import java.lang.annotation.*;
    import static java.lang.annotation.ElementType.*;
    
    @Documented
    @Retention(RetentionPolicy.RUNTIME)
    @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
    public @interface Deprecated {
    }

    由Java源代码声明我们了解到:@Deprecated注解,可以应用在很多地方,包括构造函数、字段、本地变量、方法、包、参数和类。

    在一个元素被弃用时,也应使用Javadoc @deprecated标记对其进行记录,如以下示例所示。 在Javadoc注释和注解中使用@符并非巧合:它们在概念上是相关的。 另请注意,Javadoc标记以小写d开头,注解以大写D开头。

    package org.springmorning.demo.javabase.annotation.pre;
    
    import java.util.Date;
    
    /**
     * @author 春晨
     * @date 2019/1/21 7:07
     * Copyright ©2019 春晨 https://www.cnblogs.com/springmorning/p/10296415.html 
     */
    public class DeprecatedAnnotation {
    
        /**
         * @deprecated
         * 此方法使用了java.util.Date中弃用的Date(String s)构造函数
         *
         * @param date 日期  格式为(YYYYMMDD)
         * @return Date字符串格式
         */
        @Deprecated
        public String convertDate(String date){
            return new Date(date).toString();
        }
    }

     Java API中有很多地方都使用了@Deprecated注解,例如像上例中使用的java.util.Date类中的方法:

    public Date(String s)

    大家可以轻易在Java API中找到示例,我这里就不赘述。

  • 相关阅读:
    OpenCV在MFC图像控件内显示图像
    Android APK反编译具体解释(附图)
    Android下用Properties保存程序配置
    王灏:光音网络致力打造Wi-Fi大生态圈
    解决ccSvcHst.exe CPU占用超50%的问题,及其缘由
    配置管理工具比較
    应用程序无法正常启动0xc0150002 解决方式
    现有一些开源ESB总线的比較
    使用GridView自带分页的代码
    Hadoop 2.4.0新特性介绍
  • 原文地址:https://www.cnblogs.com/springmorning/p/10296415.html
Copyright © 2011-2022 走看看