java.util.Collections.emptyList() 方法在实际应用中究竟在哪里使用?

huangapple go评论76阅读模式
英文:

Where exactly the java.util.Collections.emptyList() method is used in real application?

问题

我只是好奇知道 java.util.Collections.emptyList() 方法究竟在哪里被使用。为什么会有这样一个返回不可变列表的方法在Java中?它有什么用途?

英文:

I am just curious to know where exactly the java.util.Collections.emptyList() method is used. Why such method is given which returns immutable list in Java? What could be done with it?

答案1

得分: 4

这在你想返回...一个空列表时非常有用。重用一个规范的空列表比每次创建一个新的更加高效。

List<Integer> numbersBetween(int from, int to) {
  if (to < from) return Collections.emptyList();
  else {
    // 进行必要的操作
  }
}
英文:

It's useful when you want to return... an empty list. It's more efficient to reuse a canonical empty list than to create a new one each time.

List&lt;Integer&gt; numbersBetween(int from, int to) {
  if (to &lt; from) return Collections.emptyList();
  else {
    //do what you have to do
  }
}

答案2

得分: 0

在传统应用程序中,使用 null 值而不是空列表、集合或映射是相当常见的。

public List<String> getElements() {
  if (bla < 0) {
    return null;
  }
}

public List<String> getElements() {
  if (bla < 0) {
    return Collections.emptyList();
  }
}

在我看来,与 null 值相比,使用空的 List<>Set<>Map<> 大多更好。

英文:

In legacy applications it was quite common to use null values instead of empty lists, sets or maps.

public List&lt;String&gt; getElements() {
  if (bla &lt; 0) {
    return null;
  }
}

public List&lt;String&gt; getElements() {
  if (bla &lt; 0) {
    return Collections.emptyList();
  }
}

In my opinion, it is mostly better to work with empty List&lt;&gt;, Set&lt;&gt; or Map&lt;&gt; instead of null values.

huangapple
  • 本文由 发表于 2020年8月4日 20:45:45
  • 转载请务必保留本文链接:https://go.coder-hub.com/63247188.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定