我有这样的代码:
DataTableFactory<Object> TempDataTableFactory = new DataTableFactory<Object>();
DataTable<Object> tempDataTable = TempDataTableFactory.getInstance();
tempDataTable = dataTable;
ExecutedArguments e = new ExecutedArguments();
e.setDataTable(tempDataTable);
e.setExecutedCommand(cmd);
stack.addNewExecutedCommand(e);
result = operation.execute();
现在我只想在执行前保留olddataTable
。当我调试代码直到行result = operation.execute();
时,没有问题。在该行中,我更改了dataTable
。但由于tempDataTable
指向dataTable
,它也会发生变化。但我不希望tempDataTable
改变。我怎么能这样做?
答案 0 :(得分:2)
如果它支持克隆,我会使用tempDataTable.clone()
。否则你将不得不实现一个复制构造函数。
答案 1 :(得分:0)
您需要为tempDataTable创建一个新对象。
Here is a post有类似的问题。