Отвечая на мой собственный вопрос:
Как объяснили другие, java.util.Date
является изменяемым, поэтому плохой дизайн - предоставлять его как константу, поскольку на самом деле это не так.
@ nits.kk дал лучшее решение «Сохранить длинное значение Date как константу» и использовать пусть вызывающая сторона преобразует длинное значение в объект Date.
public static final long DEFAULT_DATE = <long value representing the required date>;
Просто улучшение этого и того, как яиспользование сейчас в моем коде означает использование java.time.Instant
, который является неизменным объектом
public static final Instant DEFAULT_DATE = Instant.parse("<ISO-formatted-date>");
Таким образом, я сохраняю предполагаемый объект Date, и больше не будет предупреждений / ошибок от статической проверки.