返回空(Entity)List或null是否更好?

时间:2014-01-31 07:41:37

标签: list jpa null return entity

方法返回的人员列表可能为空。

返回空列表或仅 null 更好吗?

有些人可能会发现这是一个意见问题,但我想知道新申请的最佳策略是什么?

public List<PersonEntity> findByName(List<String> names) {
    List<PersonEntity> list = new ArrayList<PersonEntity>();
    ...JPA-stuff getting that list
    return list;
}

返回null。是否更容易进一步处理?

public List<PersonEntity> findByName(List<String> names) {
    List<PersonEntity> list = null;
    ...JPA-stuff getting that list
    return list;
}

1 个答案:

答案 0 :(得分:1)

我觉得这可能反过来是一个意见问题,但我喜欢返回空集并避免必须处理null(如果可以的话)。

这一切都取决于你对这个列表做了什么,但是让我们说一旦你得到列表,你需要迭代它。

如果它是空集,你试着迭代,它没有看到列表中的任何内容,你没关系。

 result = findByName(names);
 //...safe to loop through result

如果为null,则尝试迭代,得到异常,因此需要先检查null并添加特殊处理。

result = findByName(names);
if (result != null)
{
    //...handle stuff (now it is safe to loop through result)
}
else
{
    //..special handling if needed
}

总而言之,这取决于你对数据的处理方式,以及你是否可以在我的第一个例子中没有检查空集。