次のコードを実行しました
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でしょうか?