Я только начал с java, и у меня есть методы, которые поддерживают изменения и хранят значения до и после изменений, и я должен иметь возможность их отменить. И извините за лишний текст, просто хочу быть максимально ясным. Я не могу понять, как сохранить значения до и после изменения и сделать их "отменяемыми". Буду признателен за любые идеи о том, как подойти к этому.
public void setName(String name)
Устанавливает название продукта. Переданное имя может быть нулевым или пустой строкой. Если переданное имя равно нулю, имя инициализируется пустой строкой. Перед изменением имени сохраняется текущее состояние, поэтому это действие можно отменить.
public boolean undo()
Отменяет последнее изменение. Возвращает истину, если текущее состояние этого объекта было изменено этой операцией. Если никакие изменения нельзя отменить, возвращается false.




Вы можете использовать частное поле java.util.Stack history. На setName(name) вы можете вставить значение в history, а также установить его в поле name.
На undo() вы можете снова выбрать history, установив name из значения popped.
Также вы catch(EmptyStackException), чтобы вы могли вернуть false, если стек пуст.
С какой проблемой вы столкнулись?