在Java中我需要一些Undo函数的帮助

Was*_*eem 0 java stack class function undo

我用Java编写了一个文本编辑器,我想为其添加撤销功能

但是如果没有UndoManager类,我需要使用像Stack或LinkedList这样的数据结构,但Java中的Stack类使用Object参数,例如:push(Object o),Not Push(String s)我需要一些提示或链接.谢谢

Yuv*_*dam 7

假设您使用的是Java 5,则Stack是一个泛型类.您可以根据它应该保存的对象进行实例化.

然后你可以使用:

Stack<String> stack = new Stack<String>();
String string = "someString";
stack.push(string);
Run Code Online (Sandbox Code Playgroud)

另请注意,在使用Java 1.4或更低版本的情况下,您仍然可以将String对象推入堆栈.只有在弹出()时才需要明确地向下转换它们,如下所示:

Stack stack = new Stack();
String string = "someString";
stack.push(string);

String popString = (String) stack.pop(); // pop() returns an Object which needs to be downcasted
Run Code Online (Sandbox Code Playgroud)