Дата конструктора (…) удерживается от использования.Что это значит? (Java)

Я пытаюсь создать a Date как это:

date = new Date(year-1900, mon-1, day, hrs, min, sec);

и Eclipse дает мне это предупреждение: "Конструктор Date(int, int, int, int, int) удерживается от использования".

Что означает то, чтобы конструктор был удержан от использования, и что я могу сделать?

45
задан Sae1962 27 June 2019 в 11:00
поделиться

7 ответов

Исключить буквально означает не одобрить , но более точный перевод был бы удален . Исключено означает, что данный метод все еще может быть использован, но его не следует использовать. Он будет постепенно сворачиваться. Существует новый метод для того, чтобы сделать то же самое . Исключенные методы отмечены специальным комментарием Javadoc:

/**
 *@deprecated Please now use newMethod()
 *@see newMethod()
 */

Use:

  • Calendar.set(год + 1900, месяц, дата, часы, мин)

или

  • GregorianCalendar(год + 1900, месяц, дата, часы, мин).

В соответствии с предложением , содержащимся в документации API.

43
ответ дан 26 November 2019 в 21:19
поделиться

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

Согласно этому документу http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html, используйте Calendar.set(...).

4
ответ дан 26 November 2019 в 21:19
поделиться

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

В вашем случае можно использовать java.util.Calendar class вместо java.util.Date.

Кстати, в Java 8 и более поздних версиях, эти старые классы заменены новым пакетом java.time (Tutorial). Вдохновленный Joda-Time, определенный JSR 310, и расширенный проектом ThreeTen Extra. Старые классы остаются на месте, и вы можете продолжать их использовать (избегая при этом их устаревших частей), но вам рекомендуется перейти на новые классы.

5
ответ дан 26 November 2019 в 21:19
поделиться

устаревший означает, что использование этого конструктора не поощряется, и он может быть удален в будущих релизах Java. Использовать API Календаря.

1
ответ дан 26 November 2019 в 21:19
поделиться

Исключено, как правило, означает, что вам не рекомендуется использовать эту функцию.

По той или иной причине, было решено, что Java будет лучше без нее (потому что существует лучшая альтернатива, и вы должны использовать ее вместо нее), и поэтому может быть удалено из будущей версии Java. Уничтожение, по сути, является предупреждением о том, что "это, вероятно, будет удалено в будущем, хотя мы держим это немного дольше, чтобы дать вам шанс сначала удалить это из вашего кода"

.
0
ответ дан 26 November 2019 в 21:19
поделиться

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

Вместо этого вы можете использовать Calendar API, как мы надеемся, полное сообщение предлагает вам - или (лучше IMO) вы можете использовать Joda Time или пакет java.time в Java 8 (см. учебное пособие ). Оба они далеко превосходные API даты / времени. к

Когда дело доходит до устаревших API, если сообщение компилятора не предлагает альтернативу, всегда стоит посмотреть на Javadoc, который в этом случае предлагает использовать Calendar.set ( ...) .

17
ответ дан 26 November 2019 в 21:19
поделиться

Трудно сказать.

Я предлагаю использовать токовый зажим , чтобы можно было измерить всю потребляемую ЦП мощность. Затем необходимо измерить потребление системы в режиме простоя, получить стандартное значение с максимально низким стандартным отклонением.

Затем выполните критический код в цикле.

Предыдущие предложения по запуску кода под DOS/RTOS также действительны, но, возможно, они не будут компилироваться так же, как ваш производственный...

-121--2797524-

Для этого можно использовать objdump .

EDIT: На странице:

-W
--dwarf
Displays  the  contents of the DWARF debug sections in the file, if
any are present.
-121--789437-

Поскольку она устарела, вы не должны использовать ее. Для создания даты из полей можно использовать календарь.

2
ответ дан 26 November 2019 в 21:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: