5

私はこのことに気付きました.私のクラスにはbooleanメンバーがあり、ある実行時点で、デバッガーでの値がnull. しかし、getter メソッドを使用すると、 が返されますfalse

私が知っているように、ほとんどの本はboolean、Java では値が 2 つしかないことを示しています。C/C++ ではゼロ以外のすべての数値が として解釈されるのとは異なりますtrue。それで、そこで何が起こっているのだろうか?

null他のタイプの値またはとして解釈できる他の状況はありますfalseか? おそらくこれの説明はJLSのどこかにありますが、誰かが私にそれを指摘してもらえますか?

編集:確かに昨日はデバッグには悪い日でした。最初に、ソースを逆にして同じ変更を再度行ったときに消えたバグのソースを見つけるために 4 時間を無駄にしました。それからこれ。再現しようとしただけで、できませんでした。ガルシネーションだったのか、それともただの月曜日がつらい日なのか? 知らない。皆様、ご回答ありがとうございます!今すぐこの質問を閉じるか削除するために投票できると思います。

4

1 に答える 1

11

フィールドがプリミティブではなくnull許容のラッパー型Booleanとして宣言されているようです。boolean

于 2012-10-29T16:16:40.803 に答える