@Documented @Retention(RUNTIME) @Target({CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,MODULE,PARAMETER,TYPE}) public @interface Deprecated
@Deprecated
is one that programmers
are discouraged from using. An element may be deprecated for any of several
reasons, for example, its usage is likely to lead to errors; it may
be changed incompatibly or removed in a future version; it has been
superseded by a newer, usually preferable alternative; or it is obsolete.
Compilers issue warnings when a deprecated program element is used or
overridden in non-deprecated code. Use of the @Deprecated
annotation on a local variable declaration or on a parameter declaration
or a package declaration has no effect on the warnings issued by a compiler.
When a module is deprecated, the use of that module in
requires
, but not in exports
or opens
clauses causes
a warning to be issued. A module being deprecated does not cause
warnings to be issued for uses of types within the module.
This annotation type has a string-valued element since
. The value
of this element indicates the version in which the annotated program element
was first deprecated.
This annotation type has a boolean-valued element forRemoval
.
A value of true
indicates intent to remove the annotated program
element in a future version. A value of false
indicates that use of
the annotated program element is discouraged, but at the time the program
element was annotated, there was no specific intent to remove it.
@deprecated
javadoc tag. The documentation should also suggest and link to a
recommended replacement API, if applicable. A replacement API often
has subtly different semantics, so such issues should be discussed as
well.
It is recommended that a since
value be provided with all newly
annotated program elements. Note that since
cannot be mandatory,
as there are many existing annotations that lack this element value.
There is no defined order among annotation elements. As a matter of
style, the since
element should be placed first.
The @Deprecated
annotation should always be present if
the @deprecated
javadoc tag is present, and vice-versa.
Modifier and Type | Optional Element | Description |
---|---|---|
boolean |
forRemoval |
Indicates whether the annotated element is subject to removal in a
future version.
|
String |
since |
Returns the version in which the annotated element became deprecated.
|
String since
@since
javadoc tag. The default value is the empty
string. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps