如何撤消,java

How to undo , java

我刚开始使用 java,我有一些方法可以支持更改并存储预更改值和 post 更改值,我必须能够撤消它们。对于多余的文字,我很抱歉,我只想尽可能清楚。我不知道如何存储前值和 post 更改值并让它们成为 "undoable"。将不胜感激关于如何处理这个问题的任何想法。

public void setName(String name)

设置产品名称。传递的名称可以为 null 或空字符串。如果传递的名称为 null,则使用空字符串初始化该名称。 在更改名称之前,会存储当前状态,以便可以还原此操作。

public boolean undo()

撤消上次更改。 Returns 如果此对象的当前状态被此操作更改,则为真。如果无法撤消任何更改,则返回 false。

您可以使用私有字段 java.util.Stack history。在 setName(name) 上,您可以将值推送到 history 并将其设置在 name 字段上。

undo() 上,您可以从 history 设置再次弹出 namepopped 值。

还有你 catch(EmptyStackException) 这样你可以 return 如果堆栈为空则为 false。