我应该在我的方法中返回Collections.addAll()的值吗?

时间:2016-05-02 14:03:35

标签: java collections

我有一个包含Set<String>(应该是一组标签)的类,以及一个向其添加元素的方法(addTags(String... tagsToAdd))。 addTags()方法内部是对Collections.addAll()的调用,其boolean返回类型。我的方法也应该退还吗?

class SomethingWithTags() {
    private Set<String> tags;

    public boolean addTags(String... tagsToAdd) {
        return Collections.addAll(tags, tagsToAdd);
    }
}

3 个答案:

答案 0 :(得分:0)

我会返回boolean值。

如果您需要它(比如在addTags()子句中使用if),您可以使用它。否则,您可以忽略返回值。

答案 1 :(得分:0)

这取决于你想做什么,返回布尔值是识别如果给定的Collections.addAll(c)改变了你传入的集合(c)。

有关更多信息,请查看; https://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#addAll(java.util.Collection,%20T...)

答案 2 :(得分:-1)

对于您的Collection被修改的简单通知,您可以使用布尔类型。在更复杂的软件中,使用对您的集合的更改做出反应的侦听器/观察器会很有用。你也可以写自己的。因此,返回值将很有用。

如果您只想为集合添加值并让它们在另一个组件或类似的东西中计算,则应该重新设置返回值。