gpt4 book ai didi

java - 什么都不返回,使用 array == null 或 array.length == 0?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:43:21 24 4
gpt4 key购买 nike

假设我有一个具有以下签名的函数:

Foo[] getSomeFoos() 
{
//return null --- option A
or
//return new Foo[0]; --- option B
}

返回指示没有返回元素的值的推荐做法是什么?每个选项的优缺点?

最佳答案

如果您的方法 GetSomeFoos() 实际上“找到”了 0 个元素,那么它应该返回 new Foo[0]

如果出现某种错误,您应该抛出一个Exception

原因是因为用户不应该寻找空值:

for (Foo f: GetSomeFoos()) {
// do stuff
}

在上述情况下,如果 GetSomeFoos 返回 null,用户将不得不处理 NullPointerException。但是,如果返回一个空数组,代码将永远不会进入循环,用户也不必处理异常。

关于java - 什么都不返回,使用 array == null 或 array.length == 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3809406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com