我需要创建一个客户列表,每个客户都有一个工作列表。 在将列表分配给客户端时,该列表通过引用传递,并且对该列表所做的任何更改(例如,将其清除)也反映在客户端对象中。
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();
如何避免这种情况?
答案 0 :(得分:1)
通过复制收藏集。
client.jobs = new ArrayList<>(jobs);