一位同事让我将签名从使用原始"布尔"更改为使用分类"布尔".他没有提供很好的解释原因?
你们有没有人听说过这个问题,你们中有谁可以解释为什么重要或无关紧要?
编辑:他提到这是公共方法的好习惯.
字段的使用只是一个标志,告诉我是否要调用一个流程或另一个流程,具体取决于它是真还是假.
Bla*_*ppo 26
它与数据库有关吗?如果数据库中有布尔值,则它可以包含三个值之一 - true,false和null.Boolean对象可以让你模仿这种行为.
基本上,这是一个问题,你是否想要处理"null"作为潜在的输入值.
Jim*_*ley 22
实际上我倾向于错误地传递small-b boolean,因为我知道原始布尔值永远不会为null.我确信使用布尔类型有正当理由,但我想在每种情况下考虑它的使用.
实际上,一般来说,除非有特殊原因,否则使用常规基元是一种好习惯.虽然你需要移动很多物体才能真正重要,但它会稍微快一点/少浪费.
为了回应你的编辑,我从未听说它是公共方法的好习惯.在Josh Bloch经常引用的Effective Java中,有一个完整的项目"Prefer primitive types to boxed primitives"(第49项,如果你能得到一份副本).听起来你的具体案例没有理由支持使用big-b布尔值,并且使用对象会产生陷阱,例如与旧代码的交互不良,例如,使用==
而不是equals()
(对于原语来说甚至不可能).