Прежде всего, вы знаете, почему вам нужно создать неизменяемый объект и каковы преимущества непреложного объекта.
Преимущества объекта Immutable
Параллелизм и многопоточность Это автоматически Thread-safe, так что проблема синхронизации .... и т. Д.
Не нужно copy constructor Не нужно внедрять клон . Класс не может be override Сделать поле в качестве частных и окончательных участников принудительной сборки для полного создания объекта за один шаг, вместо использования конструктора no-Argument
Неизменяемые объекты - это просто объекты, состояние которых означает, что данные объекта не могут измениться после создания неизменяемого объекта.
см. Ниже код.
public final class ImmutableReminder{
private final Date remindingDate;
public ImmutableReminder (Date remindingDate) {
if(remindingDate.getTime() < System.currentTimeMillis()){
throw new IllegalArgumentException("Can not set reminder" +
" for past time: " + remindingDate);
}
this.remindingDate = new Date(remindingDate.getTime());
}
public Date getRemindingDate() {
return (Date) remindingDate.clone();
}
}