以下のようなコードがあります。
if(!partialHits.get(req_nr).containsKey(z) || partialHits.get(req_nr).get(z) < tmpmap.get(z)){
partialHits.get(z).put(z, tmpmap.get(z));
}
ここで、partialHits
はHashMapです。
1つ目のステートメントがtrueの場合、どうなりますか? 2つ目のステートメントでもJavaはチェックしますか? **1つ目のステートメントがtrueになるためには、HashMapに与えられたキーが含まれていない必要があるため、2つ目のステートメントがチェックされると、NullPointerException
が発生します。
つまり、簡単に言うと、次のようなコードがあるとします。
if(a && b)
if(a || b)
は、最初のケースでは a
が false で、2番目のケースでは a
が true であれば b
をチェックするでしょうか?