pie*_*fou 3 java null empty-list
假设我有一个具有以下签名的函数:
Foo[] getSomeFoos()
{
//return null --- option A
or
//return new Foo[0]; --- option B
}
Run Code Online (Sandbox Code Playgroud)
返回值的建议做法是什么,表示没有返回元素?每个选项的优缺点是什么?
jjn*_*guy 11
如果你的方法GetSomeFoos()实际上'找到'0个元素,那么它应该返回new Foo[0].
如果出现某种错误,你应该抛出一个Exception.
原因是因为用户不必查找空值:
for (Foo f: GetSomeFoos()) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
在上述情况下,如果GetSomeFoos返回null,用户将不得不处理NullPointerException.但是,如果返回一个空数组,代码将永远不会进入循环,用户将不必处理异常.
| 归档时间: |
|
| 查看次数: |
3403 次 |
| 最近记录: |