方法返回的人员列表可能为空。
返回空列表或仅 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;
}
答案 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
}
总而言之,这取决于你对数据的处理方式,以及你是否可以在我的第一个例子中没有检查空集。