Module  java.base
软件包  java.lang

Annotation Type Deprecated



  • @Documented
    @Retention(RUNTIME)
    @Target({CONSTRUCTOR,字段,LOCAL_VARIABLE,METHOD,PACKAGE,MODULE,PARAMETER,TYPE})
    public @interface 已过时的
    注释@Deprecated的程序元素是不鼓励程序员使用的程序元素。 由于以下几个原因,元素可能会被弃用,例如,其使用可能会导致错误; 在未来版本中可能会更改不相容或已删除; 它已被一个较新的,通常较好的选择所取代; 或者它已经过时了。

    当不推荐的程序元素被使用或覆盖在不被废弃的代码中时,编译器会发出警告。 对本地变量声明或参数声明或包声明使用@Deprecated注释对编译器发出的警告没有影响。

    当模块被弃用时,在requires使用该模块,而不是在exportsopens子句中使用该模块会导致发出警告。 被废弃模块不会导致该模块中的类型的用途要发出警告。

    该注释类型具有字符串值元素since 该元素的值表示注释的程序元素首次被弃用的版本。

    此注释类型具有布尔值元素forRemoval 值为true表示在将来的版本中删除注释的程序元素的意图。 值为false表示不鼓励使用注释的程序元素,但是在程序元素注释时,没有特定的意图删除它。

    API Note:
    强烈建议使用@deprecated javadoc标签在文档中说明弃用程序元素的原因。 文档还应建议并链接到推荐的替代API(如果适用)。 替代API通常具有不同的语义,因此也应该讨论这样的问题。

    建议为所有新注释的程序元素提供since值。 请注意, since不能是强制性的,因为有许多现有的注释缺少此元素值。

    注释元素中没有定义的顺序。 作为一个风格, since元素应该放在第一位。

    如果存在@deprecated javadoc标记,那么@Deprecated注释应始终存在,反之亦然。

    从以下版本开始:
    1.5
    See The Java™ Language Specification:
    9.6.4.6 @已弃用
    • Optional Element Summary

      Optional Elements  
      Modifier and Type Optional Element 描述
      boolean forRemoval
      指示注释元素是否在将来的版本中被删除。
      String since
      返回注释元素已被弃用的版本。
    • Element Detail

      • since

        String since
        返回注释元素已被弃用的版本。 版本字符串的格式和命名空间与@since javadoc标记的值相同。 默认值为空字符串。
        结果
        版本字符串
        从以下版本开始:
        9
        Default:
        “”
      • forRemoval

        boolean forRemoval
        指示注释元素是否在将来的版本中被删除。 默认值为false
        结果
        该元素是否被删除
        从以下版本开始:
        9
        Default: