Будут ли удалены устаревшие элементы в Java? - PullRequest
9 голосов
/ 17 ноября 2011

Мы знаем, что в Java есть несколько устаревших элементов.

Будут ли они удалены? Были ли какие-либо устаревшие элементы когда-либо удалены из Java?

Ответы [ 3 ]

2 голосов
/ 17 ноября 2011

Этот вопрос был задан в другом месте .

Честно говоря, команда Java обычно отказывается от метода и удаляет его реализацию вместо предложенного метода.Устаревший метод - это просто не реализованный метод.

2 голосов
/ 17 ноября 2011

Будут ли они удалены?

Маловероятно, поскольку Java всегда поддерживала обратную совместимость, но это может произойти. Я рассматриваю устаревшие как предупреждение о том, что API ненадежен или имеет серьезные недостатки. ( Тема имеет несколько из них).

Был ли какой-либо из устаревших предметов в прошлом был удален из Java?

AFAIC не удален, но никогда не реализован Thread.destroy(), так как он был вместе с некоторыми другими методами Thread по своей сути небезопасными.

0 голосов
/ 30 ноября 2015

Согласно документации здесь.

Вы можете видеть, что это говорит

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

Таким образом, устаревший метод или класс - это в основном старый метод или класс, который не рекомендуется использовать, поскольку существуют более новые и более логичные способы выполнения этого действия.

Будут ли когда-нибудь удалены эти методы?

Вероятно, нет. Он продолжит работать так же, как и до устаревания, вам просто придется иметь дело с надоедливым предупреждением. Чтобы старые программы по-прежнему работали правильно и не обновлялись, почти все устаревшие классы и методы не будут удалены исключительно по этой причине.

Устаревшие API - это интерфейсы, которые поддерживаются только для обратной совместимости. Компилятор javac генерирует предупреждающее сообщение всякий раз, когда используется один из них, если не используется параметр командной строки -nowarn. Рекомендуется изменить программы, чтобы исключить использование устаревших API, хотя в настоящее время нет планов по удалению таких API - за исключением JVMDI и JVMPI - полностью из системы.

Были ли удалены устаревшие элементы?

В классе Java. * Нет. В классе javax. * Произошли некоторые изменения, но в обычном java никогда не удалялся устаревший метод или класс.

...