返回空的Vector集合,而不是null

时间:2019-01-16 15:52:57

标签: java vector collections

我有一个返回Vector的函数,如果发生错误,我想返回一个空Vector,可以通过调用方法使用Collections.isEmpty对其进行检查。但是我找不到方法,因为Collections为List,Maps等提供了Collections.emptyList函数,但没有为Vector提供,因此我不得不通过要避免的函数返回null。

如何实现?

3 个答案:

答案 0 :(得分:1)

您可以返回一个new Vector<X>(),但是更好的解决方案是远离Vector,这已经(很多年)了。除非需要并发功能,否则可以使用ArrayList

您还添加了从第三方服务收到的Vector。别忘了VectorList,所以您可以使用以下方式:

public List<X> getData() {
  try {
    Vector<X> v = getDataFromService();
    return v;
  } catch (ServiceException e) {
    return Collections.emptyList();
  }
}

答案 1 :(得分:0)

  

我想返回一个空向量,可以使用检查   Collections.isEmpty

您是否要返回一个空的Vector或让Collections.isEmpty()在传递一个空的Vector时返回true?
通常,返回一个空的Vector不会指示任何错误,但是会显示一个空的结果-您应该考虑对错误抛出(已检查)异常-这将使方法与其调用方之间的约定更加清晰。如果您希望以后该方法能够返回一个空的Vector来指示一个空的结果(并且没有错误),而无需更改所有调用代码,便可以做到。

答案 2 :(得分:-1)

您不能使用其自己的方法吗?

pypy3