gpt4 book ai didi

java - 制作 TableView 项目的副本

转载 作者:行者123 更新时间:2023-12-02 08:43:14 25 4
gpt4 key购买 nike

我可能在这里遗漏了一些非常明显的东西,但我正在尝试从 TableView 获取项目,对它们进行一些更改,然后将它们导出到 CSV 文件。

我不想对 TableView 数据进行任何更改。我只想对我创建的新列表进行更改。但是,我对下面的 newList 所做的更改也会更新 TableView 的模型。

如何获取 TableView 数据的副本?

我的代码:

List<MyDTO> newList = myTableView.getItems();

newList.forEach(listItem -> listItem.setName("New Name");

exportToCSV(newList);

感谢您的帮助。

最佳答案

没有简单的方法可以做到这一点,因为 java 中的对象总是通过引用来表示。这意味着您必须创建一个新列表并将每个对象从 myTableView.getItems() 复制到该列表。

您可以按照本文中的说明在此处使用克隆:link

代码可能如下所示:

List<MyDTO> clonedList = new ArrayList<>();
myTableView.getItems().forEach(item -> {
MyDTO dto = item.clone();
clonedList.add(dto);
});
exportToCSV(clonedList);

关于java - 制作 TableView 项目的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61246440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com