5

(not ) variableを持つクラスfooがあるとしましょう:Booleanbooleanbar

class foo {
    Boolean bar;

    Boolean isBar(){
        return bar;
    }

    boolean isBar(){
        return bar.booleanValue();
    }
}

上記の方法のうち、Java で正しい方法はどれですか。

どちらも機能することはわかっていますが、この問題に関する Java のコーディング規約を知りたいですか?

4

3 に答える 3

11

実際にブール型を使用する場合、メソッドは次のようになります

Boolean getBar(){
    return bar;
}

それ以外の場合、フィールドはプリミティブブール型でなければなりません。

于 2013-06-13T07:41:02.797 に答える
2

barでなくnull、これがクラスでモデル化したいものでない限り、次を使用します。

class foo {
    boolean bar;

    boolean isBar(){
        return bar;
    }
}

それはより簡単で、より速く、NullPointerExceptions を持つことはできません。

ただし、nullが有効な値であり、そのモデルが必要な場合は、Boolean/を使用する必要がありますBoolean

あなたのコードに注意してください:

Boolean bar;

boolean isBar() {
    return bar.booleanValue();
}

またはオートボクシングバリアントでさえ:

Boolean bar;

boolean isBar() {
    return bar;
}

... s をスローすることがありNullPointerExceptionます。特に最後のものは非常に紛らわしいです。

于 2013-06-13T07:46:27.433 に答える