我需要创建一个客户列表,每个客户都有一个工作列表。当将列表分配给客户端时,它是通过引用传递的,对列表所做的任何更改(例如清除列表)也反映在客户端对象中。
Client client = new Client();
Job job = new Job();
List<Job> jobs = new ArrayList<>();
client.job_run_user_login = "razvan";
job.action = "EMAIL";
jobs.add(job);
client.jobs = jobs;
jobs.clear();在运行“jobs.clear();”行之前,客户端对象:

在运行“jobs.clear();”行之前,客户端对象:

我怎么才能避免这种情况?
发布于 2019-08-01 20:00:57
通过复制一个集合。
client.jobs = new ArrayList<>(jobs);https://stackoverflow.com/questions/57316204
复制相似问题