@Deprecated註解的使用

被註解@Deprecated標記的程序元素是不鼓勵使用的程序元素,一般是由於它很危險,或者是由於存在更好的替代方案。html

除了對象自身引用本身用@Deprecated標記的方法外,其餘狀況使用@Deprecated註解標記的類型,方法,字段或構造函數時,Java編譯器都會生成deprecation警告。java

先看看@Override註解在Java SE中的聲明:spring

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註解,能夠應用在不少地方,包括構造函數、字段、本地變量、方法、包、參數和類。ide

在一個元素被棄用時,也應使用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類中的方法:spa

public Date(String s)code

你們能夠輕易在Java API中找到示例,我這裏就不贅述。htm

相關文章
相關標籤/搜索