Java新手在这里寻求帮助。这是有问题的代码:
public void generateCodeTable(Node tree, StringBuffer buf) {
if (tree != null) {
StringBuffer newSB = new StringBuffer();
newSB.append(buf);
if (tree.key != '$') {
System.out.print(tree.key + "(" + buf + ") " );
} else {
System.out.print(tree.key + "(" + buf + ") " );
}
generateCodeTable(tree.getLeftNode(), newSB.append(1));
generateCodeTable(tree.getRightNode(), newSB.append(0));
}
这样做是在递归循环的每次迭代中不断附加到 SAME StringBuffer ,而我真正希望能够做到的是让它每次都创建一个全新的 StringBuffer 。有什么方法可以强制创建一个新的 StringBuffer 吗?
希望这是有道理的;让我知道在哪里可以澄清。谢谢!:)