как я могу обработать передачу Java по значению?мне нужен проход по ссылке - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть такой кусок кода:

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 ]

2 голосов
/ 14 ноября 2011

Если он поддерживает клонирование, я бы использовал tempDataTable.clone(). В противном случае вам придется реализовать конструктор копирования.

0 голосов
/ 14 ноября 2011

Вам потребуется создать новый объект для tempDataTable.

Вот пост с похожим вопросом.

...