Как объявить или пометить метод Java как устаревший?



Я хотел бы сделать один из моих методов "устаревшие" = больше не используется.



но все же я хотел бы иметь его в моем API. Я просто хочу показать "предупреждение" любому, кто использует этот метод.



Как я могу этого достичь?

916   6  

6 ответов:

использовать @Deprecated на способ. Не забудьте уточнить поле javadoc:

/**
 * Does some thing in old style.
 *
 * @deprecated use {@link #new()} instead.  
 */
@Deprecated
public void old() {
// ...
}

как использовать @Deprecated аннотации и @deprecated тег JavaDoc.

The @deprecated тег JavaDoc используется для целей документации.

The @Deprecated аннотация указывает компилятору, что метод устарел. Вот что говорится в документе Sun/Oracles по этому вопросу:

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

вы можете найти полный документ в как и когда осуждать APIs

есть две вещи, которые вы можете сделать:

  1. добавить @Deprecated аннотация к методу, и
  2. добавить @deprecated тег к javadoc метода

вы должны а как!

со ссылкой на документация java на эту тему:

начиная с J2SE 5.0, вы устарели класс, метод или поле, используя аннотацию @Deprecated. Кроме того, вы можете использовать тег @deprecated Javadoc, чтобы сообщить разработчикам, что использовать вместо этого.

использование аннотации заставляет компилятор Java генерировать предупреждения, когда используется устаревший класс, метод или поле. Компилятор подавляет предупреждения об устаревании, если устаревший модуль компиляции использует устаревший класс, метод или поле. Это позволяет создавать устаревшие API без создания предупреждений.

настоятельно рекомендуется использовать Javadoc @deprecated тег с соответствующими комментариями, объясняющими, как использовать новый API. Это гарантирует, что разработчики будут иметь работоспособный путь миграции из старого API в новый API

так как некоторые незначительные объяснения отсутствовали

использовать @Deprecated аннотация на методе, как это

/**
 * @param baseprice
 * 
 * @deprecated  reason this method is deprecated </br>
 *              {will be removed in next version} </br>
 *              use {@link #setPurchasePrice()} instead like this: 
 * 
 * <blockquote>
 * <pre>
 * getProduct().setPurchasePrice(200) 
 * </pre></blockquote>
 * 
 */
@Deprecated
public void setBaseprice(int baseprice) {
}

Не забудьте объяснить:

  • почему этот метод больше не рекомендуется, помните, чтобы отделить строку для удобочитаемости </br>
  • когда он будет удален (пусть ваши пользователи знают, насколько они все еще могут полагаться на этот метод, если они решили придерживаться старого путь)
  • обеспечить решение или ссылка на метод, который вы рекомендуете {@link #setPurchasePrice()}

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

посмотри @Deprecated Примечание.

Comments

    Ничего не найдено.