Map 的 key、value 是否允许为null

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

转载于:https://www.cnblogs.com/amunote/p/10211760.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101227.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea2021激活码永久 json快捷键输出【最新永久激活】

    (idea2021激活码永久 json快捷键输出)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~9071407CR5-eyJsaWNlbnNlSWQiOi…

    2022年3月22日
  • 元素守恒计算方法_leetcode免费吗

    元素守恒计算方法_leetcode免费吗给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入:nums = [5,2,6,1]输出:[2,1,1,0] 解释:5 的右侧有 2 个更小的元素 (2 和 1)2 的右侧仅有 1 个更小的元素 (1)6 的右侧有 1 个更小的元素 (1)1 的右侧有 0 个更小的元素提示:0 <= nums.length <= 10^5-10^4

    2022年8月8日
  • 搭建rsyslog日志服务器_syslog服务器

    搭建rsyslog日志服务器_syslog服务器文章目录1.rsyslog介绍2.实验目的3.实验环境4.配置服务端5.配置客户端6.在服务端验证效果1.rsyslog介绍  rsyslog是一个快速处理收集系统日志的开源程序,提供了高性能、安全功能和模块化设计。rsyslog是syslog的升级版,它将多种来源输入输出转换结果到目的地,rsyslog被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。  rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsysl

    2022年9月25日
  • 万字图解Java多线程

    万字图解Java多线程前言java多线程我个人觉得是javaSe中最难的一部分,我以前也是感觉学会了,但是真正有多线程的需求却不知道怎么下手,实际上还是对多线程这块知识了解不深刻,不知道多线程api的应用场景,不知道多线程的运行流程等等,本篇文章将使用实例+图解+源码的方式来解析java多线程。文章篇幅较长,大家也可以有选择的看具体章节,建议多线程的代码全部手敲,永远不要相信你看到的结论,自己编码后运行出来的,才是自己的。什么是java多线程?进程与线程进程当一个程序被运行,就开启了一个进程,比如启动了qq,w.

    2022年6月6日
  • 美团面试中被问到的问题汇总

    美团面试中被问到的问题汇总

    2022年1月22日
  • Linux makefile 教程 很具体,且易懂

    Linux makefile 教程 很具体,且易懂

    2021年12月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号