【发布时间】:2016-08-16 05:33:08
【问题描述】:
在设置 Set 元素时应遵循以下哪项,为什么?
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;
}
第一个迭代集合。我在这里想问的是哪种方法有效?
【问题讨论】:
-
他们做不同的事情。一个修改现有集合,将参数作为独立集合,而另一个只是直接赋值,将引用从参数复制到字段。
-
我的意思是在效率方面,第一个迭代集合。为什么 Downvote?
-
投了反对票,因为这是一个非常糟糕的问题——你基本上问过“哪个更好,苹果还是橙子?”您在问题的任何地方都没有提到效率,但突然间这就是您要问的问题?
-
好吧,我是 stackoverflow 的新手。我可能没有正确地提出您可以在 cmets 中提出的问题。但是投反对票不是这样做的方法。
-
如果您是 Stack Overflow 的新手,您可能需要考虑到您不适合告诉其他人他们在 Stack Overflow 上应该如何表现。如果您提出一个不好的问题,您应该期望它会被否决……这就是 SO 的工作方式。您可能应该阅读codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question