Set.clear()和Set.addAll()vs Assignment哪个更好?

时间:2016-08-16 05:33:09

标签: java set hashset

设置设置元素时应遵循以下哪些操作?

private Set<TestDetailEntity> testDetails = new HashSet<>();

public void setTestDetails(Set<TestDetailEntity> testDetails) {
        this.testDetails.clear();
        this.testDetails.addAll(testDetails);
    }


public void setTestDetails(Set<TestDetailEntity> testDetails) {
        this.testDetails = testDetails;
    }

第一个迭代集合。我在这里要问的是哪一个是有效的方式?

1 个答案:

答案 0 :(得分:1)

这完全取决于你的目标。

第一个采用副本的内容。

第二个将引用保存到传入的集合中,该集合与调用代码共享。

在没有更多设计约束的情况下,两者都不是首选,但如果11 Jan 2011将保留对传入集的引用,则应该清楚地记录。 (实际上,无论哪种方式都应该清楚记录。)

相关问题