次のコードを実行しました
public class MapTest {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put(null, null);
System.out.println(map.get(null));
System.out.println(map.containsKey(null));
System.out.println(map.containsValue(null));
}
}
そして、それはこの出力を与えました
null
true
true
ただし、行を削除するとmap.put(null, null)
、map.get(null)
まだnullが返されますが、map.containsKey(null)
&はmap.containsValue(null)
返されfalse
ます。では、値null
がどのキーにも関連付けられていない場合map.get(null)
でも、なぜそれが返される可能性があるのnull
でしょうか?