Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HashMap空值问题_Java - Fatal编程技术网

Java HashMap空值问题

Java HashMap空值问题,java,Java,两者的结果有什么不同 当我的键为空值时 当密钥本身不存在时 在上述两种情况下,结果均为空。那么,我如何确定我的关键价值呢 Map map = new HashMap(); map.put(1,null); System.out.println(map.get(1)); System.out.println(map.get(2)); 答复: null null 虽然get为null值和不存在的键返回相同的结果,containsKey不: map.containsKey(1)将返回true m

两者的结果有什么不同

  • 当我的键为空值时

  • 当密钥本身不存在时

  • 在上述两种情况下,结果均为空。那么,我如何确定我的关键价值呢

    Map map = new HashMap();
    map.put(1,null);
    System.out.println(map.get(1));
    System.out.println(map.get(2));
    
    答复:

    null
    
    null
    

    虽然
    get
    null
    值和不存在的键返回相同的结果,
    containsKey
    不:

    map.containsKey(1)
    将返回
    true

    map.containsKey(2)
    将返回
    false


    此外,如果您迭代
    映射的键(使用
    keySet()
    ),
    1
    将在那里,而
    2
    将不在那里。

    如果没有
    值映射到键,Hashmap将返回null。因此,这也可以通过您的代码来解决:

    if( map.get(1) != null ){
         //
    }
    

    检查该值是否为空,以避免打印空值

    伪代码:

    //For inputting
    if(object != null){
       map.put(1, object);
    }
    //For getting the value
    if(value != null){
         map.get(value)
      }
    

    这个建议的可能重复对OP没有帮助。