2017-01-11 3 views
-1

HashMapが空で、私がチェックした場合.containsKey() null答えが出ます。Java:nullのブール値を確認できません

私の問題は、私がnullかどうかを確認したい場合は、私は私がなぜこれが起こっている

Operator '==' cannot be applied to 'boolean', 'null' 

は、誰かが私を伝えることができ、エラーメッセージが表示されたエラーメッセージ

if(containsKey == null || !containsKey){ 

を得るということです。私は(。 - それはできませんそれだけtrueまたはfalseことができ、booleanプリミティブを返すことがなかったのでHashMap.containsKey(T)は、nullを返さないこと)、これはマップがnullではないことを

+2

'containsKey'は' boolean'型であると思われますので、どうすれば 'null'になるのですか?なぜあなたはそれができると思いますか? – Tom

答えて

5

チェックを動作するはずと思いました。

if (map != null && map.containsKey(someKey)) { 
    // ... 
} 
+0

ありがとうございました –

0

ハッシュマップが空であるかどうかを確認するには、HashMap .isEmpty()メソッドを使用できます。

+0

ええ、それが存在しない場合は空であることを確認できません –

0

containsKeyは、呼び出されるメソッドのようにnullにできません。マップ自体がnullかどうかを調べてみてください。

+0

今すぐあなたの答えを見たことありがとう –

+0

いいえ心配しないでください。私は人々が学ぶのに役立つが、上記の男はあなたに答えを与えてくれたので、それは私が推測するように、答えに導くことを望んでいた。 –

関連する問題