Как отменить, java

Я только начал с java, и у меня есть методы, которые поддерживают изменения и хранят значения до и после изменений, и я должен иметь возможность их отменить. И извините за лишний текст, просто хочу быть максимально ясным. Я не могу понять, как сохранить значения до и после изменения и сделать их "отменяемыми". Буду признателен за любые идеи о том, как подойти к этому.

public void setName(String name)

Устанавливает название продукта. Переданное имя может быть нулевым или пустой строкой. Если переданное имя равно нулю, имя инициализируется пустой строкой. Перед изменением имени сохраняется текущее состояние, поэтому это действие можно отменить.

public boolean undo()

Отменяет последнее изменение. Возвращает истину, если текущее состояние этого объекта было изменено этой операцией. Если никакие изменения нельзя отменить, возвращается false.

С какой проблемой вы столкнулись?

apilat 12.04.2018 16:03
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
606
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать частное поле java.util.Stack history. На setName(name) вы можете вставить значение в history, а также установить его в поле name.

На undo() вы можете снова выбрать history, установив name из значения popped.

Также вы catch(EmptyStackException), чтобы вы могли вернуть false, если стек пуст.

Другие вопросы по теме