gpt4 book ai didi

java - 我应该从返回 Date 的函数返回 null 还是将 "null object"模式应用于返回 Date 的函数?

转载 作者:行者123 更新时间:2023-12-02 07:37:24 25 4
gpt4 key购买 nike

假设您有一个返回日期的函数:

Date myFunc(paramA, paramB){
//conditionally return a date?
}

从此函数返回null是否合适?这看起来很难看,因为它强制客户端检查 null

“空对象”模式是解决这个问题的实现模式。
我不是 null 对象模式的忠实粉丝,但是,是的,始终返回一个列表(即使是空的)而不是返回 null 是有意义的。
然而,在 Java 中,空日期将是已清除且年份为 1970 的日期。

这里最好的实现模式是什么?

最佳答案

空对象模式不适合您想要做的事情。该模式是关于创建一个在其实现中没有功能的对象,您可以将其传递给要求对象不为空的给定函数。一个例子是 NullProgressMonitor在 Eclipse 中,这是 IProgressMonitor 的空实现.

如果您返回“空”日期,例如 1970 年,您的客户仍需要通过查看是否为 1970 年来检查它是否为“空”。如果不这样做,就会发生不当行为。但是,如果您返回 null,他们的代码将很快失败,并且他们会知道应该检查 null。此外,1970 年可能是一个有效的日期。

您应该记录您的方法可能返回 null,仅此而已。

关于java - 我应该从返回 Date 的函数返回 null 还是将 "null object"模式应用于返回 Date 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/158778/

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