Термінологія
З офіційного словника НД:
застаріле : посилається на клас, інтерфейс, конструктор, метод або поле, які більше не рекомендується, і може перестати існувати в майбутній версії.
З того, як і коли знецінювати посібник:
Можливо, ви чули термін «гуморець, що самовиражається», або гумор, який мінімізує важливість мовця. Знищений клас або метод є таким. Це вже не важливо. Насправді це настільки неважливо, що ви більше не повинні його використовувати, оскільки він був замінений і може припинити своє існування в майбутньому.
@Deprecated
Анотацію пішов ще далі і попередити про небезпеку:
Повідомлений програмний елемент @Deprecated
- це той, який програмісти не рекомендують використовувати, як правило, тому, що це небезпечно , або тому, що існує краща альтернатива.
Список літератури
Правильно чи неправильно?
Питання про те, правильно чи неправильно використовувати застарілі методи, доведеться вивчати індивідуально. Ось ВСІ цитати, де слово "застаріле" з'являється в " Ефективній Java 2-го видання" :
Пункт 7: Уникайте фіналізаторів : Єдиними методами, які претендують на гарантію доопрацювання, є System.runFinalizersOnExit
його злий близнюк Runtime.runFinalizersOnExit
. Ці методи мають фатальний хиб і були присуджені.
Пункт 66: Синхронізувати доступ до спільних змінних даних : Бібліотеки надають Thread.stop
метод, але цей метод давно застарів, оскільки він по своїй суті небезпечний - його використання може призвести до пошкодження даних.
Пункт 70: Безпека ниток документа : System.runFinalizersOnExit
Метод є ворожим і є застарілим.
Пункт 73: Уникайте груп ниток : вони дозволяють застосувати певні Thread
примітиви до групи ниток відразу. Деякі з цих примітивів були застарілими, а решта використовуються нечасто. [...] групи ниток застаріли.
Так що принаймні з усіма перерахованими вище методами користуватися ними явно неправильно, принаймні за Джошем Блохом.
З іншими методами вам доведеться розглядати проблеми окремо і розуміти, чому вони були застарілими, але загалом кажучи, коли рішення про депресію виправдане, воно, як правило, схиляється до неправильного, ніж право, щоб продовжувати їх використовувати.
Пов'язані питання
1955 Volkswagen Beetle
навіть якщо вам пропонуютьCorvette Stingray
безкоштовно? (0: