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

  • 相关阅读:
    [转]线程同步
    [转]C#线程同步(1)- 临界区&Lock
    获取系统空闲时间
    [转]一分钟明白 VS manifest 原理
    泛型总结
    wpf listbox touch 整个窗口移动
    git问题 next fetch will store in remotes/origin
    创建maven项目出现的问题
    JPA
    JDK JRE JVM
  • 原文地址:https://www.cnblogs.com/amunote/p/10211760.html
Copyright © 2011-2022 走看看