不使用布尔值而不是使用void的原因?

时间:2016-04-22 09:51:10

标签: java

使用void而不是boolean的原因是什么? 好吧,在大多数情况下我不需要返回值,但是如果我一般使用布尔值而不是空白,那么是否存在真正的不利条件? (GC Collection等除外)

希望任何人都可以帮助我解决这个更“哲学”的问题

2 个答案:

答案 0 :(得分:4)

使用boolean不会触发垃圾或任何大小的性能开销。

返回一个不打算使用的值只是令人困惑。如果你看到一个返回值的方法,你不想问自己;我应该如何正确使用这个值,而实际上没有任何意义。相反,你不想养成忽略返回值的习惯,因为它们通常是有充分理由返回的。

答案 1 :(得分:1)

我不确定生成的字节码性能可能存在的缺点,但总的来说,当API在读取时做出反应时,理解API会更加清晰。

如果我看到名为void addPositionToOrder(Position position);的方法,我理解如果我调用它将会执行哪种操作。

如果我看到boolean addPositionToOrder(Position position);我真的不知道将会返回什么,因为对我来说,这个动作不应该给我任何回复。所以我必须去javadoc / reference / other并阅读它。

如果您想在addPositionToOrder(Position position);方法中指出一些错误,请使用Exceptions而不是返回代码。