zoukankan      html  css  js  c++  java
  • Map 的 key、value 是否允许为null

    Map的key和value是否允许null?

    直接写程序验证一下:

    import java.util.HashMap;
    import java.util.Hashtable;
    import java.util.Map;
    import java.util.TreeMap;
    import java.util.concurrent.ConcurrentHashMap;
    
    /**
     * @author robin
     */
    public class MyTest {
    
    
        public static void main(String[] args) {
            Map<Object, Object> m1 = new HashMap<>();
            Map<Object, Object> m2 = new TreeMap<>();
            Map<Object, Object> m3 = new Hashtable<>();
            Map<Object, Object> m4 = new ConcurrentHashMap<>();
    
    
            try {
                m1.put("zzz", null);
            } catch (Exception e) {
                System.out.println("m1-a:" + e.getMessage());
            }
            try {
                m1.put(null, null);
            } catch (Exception e) {
                System.out.println("m1-b:" + e.getMessage());
            }
            try {
                m2.put("zzz", null);
            } catch (Exception e) {
                System.out.println("m2-a:" + e.getMessage());
            }
            try {
                m2.put(null, null);
            } catch (Exception e) {
                System.out.println("m2-b:" + e.getMessage());
            }
            try {
                m3.put("zzz", null);
            } catch (Exception e) {
                System.out.println("m3-a:" + e.getMessage());
            }
            try {
                m3.put(null, null);
            } catch (Exception e) {
                System.out.println("m3-b:" + e.getMessage());
            }
            try {
                m4.put("zzz", null);
            } catch (Exception e) {
                System.out.println("m4-a:" + e.getMessage());
            }
            try {
                m4.put(null, null);
            } catch (Exception e) {
                System.out.println("m4-b:" + e.getMessage());
            }
        }
    
    
    }

    执行结果:

    m2-b:null
    m3-a:null
    m3-b:null
    m4-a:null
    m4-b:null

    结论如下表:

    image

  • 相关阅读:
    namenode无法自动切换的问题
    HDFS 安全模式的理解
    程序启动-Runloop
    浅谈MVC和MVVM模式
    Runtime 运行时之一:消息转发
    Runtime 运行时之一:消息传递
    Runtime 运行时之一:类与对象
    GCC 编译详解
    UIView中的坐标转换
    Xcode 利用VVDocumenter 生成注释 通过设置 再生成注释文档
  • 原文地址:https://www.cnblogs.com/amunote/p/10211760.html
Copyright © 2011-2022 走看看