Поле since класса Deprecated
Поле since класса Deprecated является элементом аннотации и хранит строку, которая указывает версию Java, в которой элемент был объявлен устаревшим. Значение этого поля доступно только во время компиляции и не сохраняется в байт-коде по умолчанию (если не указана политика удержания RUNTIME). В первый параметр (значение) мы передаем строку с номером версии, например "9" или "1.5". Если параметр не указан, используется пустая строка.
Синтаксис
@Deprecated(since = "версия")
Пример
Давайте создадим метод, помеченный как устаревший начиная с версии "9", и выведем информацию о нем с помощью рефлексии:
import java.lang.reflect.Method;
public class Main
{
@Deprecated(since = "9")
public static void oldMethod()
{
System.out.println("Old method");
}
public static void main(String[] args) throws Exception
{
Method method = Main.class.getMethod("oldMethod");
Deprecated annotation = method.getAnnotation(Deprecated.class);
System.out.println(annotation.since());
}
}
Результат выполнения кода:
"9"
Пример
Давайте проверим значение поля since по умолчанию, когда версия не указана:
import java.lang.reflect.Method;
public class Main
{
@Deprecated
public static void oldMethod()
{
System.out.println("Old method");
}
public static void main(String[] args) throws Exception
{
Method method = Main.class.getMethod("oldMethod");
Deprecated annotation = method.getAnnotation(Deprecated.class);
System.out.println("'" + annotation.since() + "'");
}
}
Результат выполнения кода:
"''"
Смотрите также
-
аннотация
Deprecated,
которая помечает элемент как устаревший -
поле
forRemoval,
которое указывает на удаление элемента в будущем -
аннотация
Annotation,
которая является базовым интерфейсом для всех аннотаций -
элемент
Element,
который представляет собой метод в аннотации