我该如何处理Java传值?我需要传递参考

时间:2011-11-13 23:52:59

标签: java datatable pass-by-value

我有这样的代码:

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改变。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

如果它支持克隆,我会使用tempDataTable.clone()。否则你将不得不实现一个复制构造函数。

答案 1 :(得分:0)

您需要为tempDataTable创建一个新对象。

Here is a post有类似的问题。