Подтвердить что ты не робот

@deprecated vs @deprecated

Я могу отказаться от функции или класса @Deprecated аннотации. Но @deprecated запись в самом комментарии XML, отмечающая класс/функцию как устаревшую. Действительно ли @deprecated делает класс/функцию устаревшей?

4b9b3361

Ответ 1

@Deprecated - это аннотация, которая считывается компилятором, используемая для обозначения метода, устаревшего для компилятора, и генерирует устаревание предупреждение о компиляции, если этот метод используется.

@Deprecated - это тег javadoc, используемый для предоставления документации об устаревании. Вы можете использовать его, чтобы объяснить, почему метод устарел и предложить альтернативу. Имеет смысл использовать этот тег в сочетании с аннотацией @Deprecated.

Пример использования:

/**
 * This method does ...
 * @deprecated As of <product> <version>, because ... use
 *             {@link #replacementMethod()} instead.
 */
@Deprecated
public void deprecatedMethod() {
    // ...
}

Ниже приведено руководство по устареванию, проверьте его для получения дополнительной информации.


Чтобы более точно ответить на ваш вопрос, вы должны использовать либо @Deprecated, либо и то, и другое, потому что не имеет смысла, что вы хотите, чтобы эта информация была ограничена документацией, а удерживая ее от компилятора. @Deprecated обозначает ваш метод как устаревший для любого инструмента, который его интересует (например, IDE), поскольку он доступен во время выполнения и времени компиляции. Кроме того, инструмент javadoc замечает @Deprecated, даже если вы не добавляли никакой информации об устаревании с помощью @Deprecated.

Простое документирование ваших методов как устаревших вместо их аннотирования означает, что пользователям придется вручную искать использование вместо использования таких инструментов, как компилятор или их собственные инструменты.

Ответ 2

@deprecated Тег Javadoc: Вы можете использовать тег @deprecated, чтобы Javadoc отображал программный элемент как устаревший. За тегом @deprecated должно следовать пробел или новая строка.

@Deprecated Использование аннотации @Deprecated для обесценивания класса, метода или поля гарантирует, что все компиляторы выдадут предупреждения, когда код использует этот программный элемент. Напротив, нет никакой гарантии, что все компиляторы будут всегда выдавать предупреждения на основе @deprecated тега Javadoc

отсылайте здесь