首页 > 解决方案 > 返回空向量集合而不是 null

问题描述

我有一个返回 Vector 的函数,如果出现错误,我想返回一个空 Vector,可以通过调用方法使用 Collections.isEmpty 检查。但是我找不到这样做的方法,因为 Collections 为 List、Maps 等提供了 Collections.emptyList 函数,但没有为 Vector 提供函数,我被迫按我想避免的函数返回 null。

如何做到这一点?

标签: javavectorcollections

解决方案


您可以返回 a new Vector<X>(),但更好的解决方案是从Vector已经过时(很多年)的地方移开。除非您需要并发功能,否则您可以使用 anArrayList来代替。

您补充说您收到Vector来自第三方服务的信息。不要忘记 aVector是 a List,所以你可以使用这样的东西:

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

推荐阅读