Я не понимаю смысла в вашем коде, где вы форматируете, а затем снова анализируете дату. Это похоже на идентичную операцию. Может быть, вы могли бы уточнить?
Если вы хотите присвоить дате значение по умолчанию, вы можете сделать:
/** Jan 1, 1970 ; first moment in time in Java */
private static final Date NO_DATE = new Date(0L);
private Date date;
public void setDate(final Date date) {
if (date == null) {
this.date = NO_DATE;
} else {
this.date = date;
}
}
Примечание: аннотации опциональны, здесь я их не добавил.
В этом коде вы можете заменить то, что вы хотите, условием и значением по умолчанию.
Вы также можете добавить аналогичный установщик, который будет принимать аргумент String, и проверить ваше специальное значение "00000 ...". Это позволило бы установить поле либо с датой, либо со строкой.