java中的布尔(Object)getters

Rah*_*eel 5 java coding-style

让我说我有一个类foo,我有一个Boolean(不boolean)变量bar:

class foo {
    Boolean bar;

    Boolean isBar(){
        return bar;
    }

    boolean isBar(){
        return bar.booleanValue();
    }
}
Run Code Online (Sandbox Code Playgroud)

上述哪种方法在Java中是正确的方法.

我知道两者都有效,但我想知道Java中关于这个问题的编码约定是什么?

G-M*_*Man 11

如果您将实际使用您的方法应该使用的布尔类型

Boolean getBar(){
    return bar;
}
Run Code Online (Sandbox Code Playgroud)

否则你的字段应该是原始的布尔类型.

  • 这应该是一个评论. (5认同)
  • 他不是要求提供名称约定.他问`bar.booleanValue();`vs`返回栏;`.这是一个很好的说明,但它没有回答这个问题.(或者我误解了这个问题:)) (3认同)
  • 布尔的吸气剂可以用"get"或"is"作为前缀,因此命名是可以的,但这不是他所要求的. (2认同)
  • 我认为"getBar"在这里更合适,因为Boolean显然是一个对象,也可以是"null".这不是真或假,它是关于真实,虚假和"没有国家";) (2认同)
  • 你们是对的,我确实解释了错误的问题,相应地改变了答案.至于命名惯例,imho,primitve booleans应该以"is","should"或者可以为前缀.对象布尔值应该以get为前缀. (2认同)