一种方法正在返回一个可能为空的人列表。
最好返回空列表或仅 null ?
有些人可能会认为这是一个意见问题,但我想知道什么是新应用程序的最佳策略?
public List<PersonEntity> findByName(List<String> names) {
List<PersonEntity> list = new ArrayList<PersonEntity>();
...JPA-stuff getting that list
return list;
}
返回空。零是易于处理的空吗?
public List<PersonEntity> findByName(List<String> names) {
List<PersonEntity> list = null;
...JPA-stuff getting that list
return list;
}
我觉得这又可能是一个意见问题,但是我喜欢返回空套,并避免如果可以的话,则必须处理空。
这一切都取决于您对此列表的处理,但是可以说,一旦取回列表,就需要迭代它。
如果它是空套,则尝试迭代,它在列表中没有看到任何东西,您还可以。
result = findByName(names);
//...safe to loop through result
如果无效,则尝试迭代,您会得到例外,因此需要先检查Null并添加特殊处理。
result = findByName(names);
if (result != null)
{
//...handle stuff (now it is safe to loop through result)
}
else
{
//..special handling if needed
}
总的来说,这取决于您对数据的做法,并且如果您可以不检查空集(例如我的第一个示例)。