A program element annotated
@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.