使用void而不是boolean的原因是什么? 好吧,在大多数情况下我不需要返回值,但是如果我一般使用布尔值而不是空白,那么是否存在真正的不利条件? (GC Collection等除外)
希望任何人都可以帮助我解决这个更“哲学”的问题
答案 0 :(得分:4)
使用boolean
不会触发垃圾或任何大小的性能开销。
返回一个不打算使用的值只是令人困惑。如果你看到一个返回值的方法,你不想问自己;我应该如何正确使用这个值,而实际上没有任何意义。相反,你不想养成忽略返回值的习惯,因为它们通常是有充分理由返回的。
答案 1 :(得分:1)
我不确定生成的字节码性能可能存在的缺点,但总的来说,当API在读取时做出反应时,理解API会更加清晰。
如果我看到名为void addPositionToOrder(Position position);
的方法,我理解如果我调用它将会执行哪种操作。
如果我看到boolean addPositionToOrder(Position position);
我真的不知道将会返回什么,因为对我来说,这个动作不应该给我任何回复。所以我必须去javadoc / reference / other并阅读它。
如果您想在addPositionToOrder(Position position);
方法中指出一些错误,请使用Exceptions而不是返回代码。