Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpAnDp 116 of 322 menu
◀ ▶

Пометка устаревания в Java

Пометка @Deprecated сообщает, что объявление устарело. Компилятор подсвечивает любой вызов или использование помеченного элемента, но сборка обычно проходит.

С Java 9 у метки есть параметры since и forRemoval. Первый фиксирует версию, с которой API считают старым, второй - что его планируют убрать. На устаревший расчёт скидки можно повесить явные значения:

class Pricing { @Deprecated(since = "2.1", forRemoval = false) static int flatRebate(int price) { return price / 10; } static int computeRebate(int price) { return price / 10; } }

Текст для разработчика часто дополняют тегом @deprecated в комментарии JavaDoc: IDE показывает его рядом с предупреждением. Пример для другой устаревшей команды:

class Fees { /** * @deprecated use packFee instead */ @Deprecated(since = "3.0") static int wrapFee(int amount) { return amount + 2; } static int packFee(int amount) { return amount + 2; } }

Если forRemoval установлен в true, предупреждение звучит жёстче: API готовят к удалению. Сам метод объявить можно, но новый код лучше не опираться на него:

class Quotes { @Deprecated(since = "4.0", forRemoval = true) static String bannedQuote() { return "old"; } }

Пометьте метод подсчёта дней в поездке как устаревший с параметром since и текстом в JavaDoc о замене на новый метод с тем же смыслом. Оставьте один вызов старого метода в main и убедитесь, что сборка даёт предупреждение.

Объявите второй метод выдачи токена с forRemoval = true. В JavaDoc укажите, что вызовы нужно убрать до следующей версии.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить