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)
上一篇 2021年6月19日 下午2:00
下一篇 2021年6月19日 下午3:00


相关推荐

  • 如何查看mysql的版本_查看mysql版本语句是什么

    如何查看mysql的版本_查看mysql版本语句是什么查看MySQL的版本,主要有以下几个方法:1.没有连接到MySQL服务器,就想查看MySQL的版本。打开cmd,切换至mysql的bin目录,运行下面的命令即可:e:\mysql\bin>mysql -Vmysql  Ver 14.14 Distrib 5.6.32, for Win32 (AMD64)(版本为5.6.32)或者:e:\m

    2026年4月16日
    8
  • PyQuery 库

    PyQuery 库强大又灵活的网页解析库。如果你觉得正则写起来太麻烦,BearutifulSoup语法太难记,而又熟悉jQuery的语法,那么PyQuery就是你的绝佳选择1、初始化1.1、字符串初始化html="""&lt;div&gt;&lt;ul&gt;&lt;liclass="item-0"&gt;firstitem&lt;/li&gt;

    2022年5月18日
    45
  • 全球首个龙虾模型:GLM-5-Turbo(手把手安装、配置、使用教程)来了!

    全球首个龙虾模型:GLM-5-Turbo(手把手安装、配置、使用教程)来了!

    2026年3月17日
    2
  • 批处理 %~0_批处理输入

    批处理 %~0_批处理输入%~dp0“d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录cd是转到这个目录,不过我觉得cd/d%~dp0还好些%~dp0“d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录cd是转到这个目录,不过我觉得cd/d%~dp0还好些选项语法:~0-删除任何引号(“),扩充%

    2026年1月29日
    12
  • K8s认证_ce安全认证是什么意思

    K8s认证_ce安全认证是什么意思k8s访问控制概述Role只能对命名空间的资源进行授权,需要指定namespaceClusterRole可以对集群范围内的资源、跨namespace的范围资源、非资源类型进行授权RoleBinding可以将同一namespace中的subject对象绑定到某个Role下,则此Subject具有该Role定义的权限ClusterRoleBinding在整个集群级别和所有namespaces将特定的subject与ClusterRole绑定,授予权限虽然authorization-clusterrole是一个集

    2022年8月9日
    9
  • 维盟虚拟服务器,「包教会」WayOS路由PPPoE设置教程!

    维盟虚拟服务器,「包教会」WayOS路由PPPoE设置教程!当广域网无法兼顾既要通过同一个用户前置接入设备连接远程的多个用户主机 又要提供类似拨号一样的接入控制 计费等功能 而且要尽可能地减少用户的配置操作时 就需要 PPPOE 点对点协议 的鼎力相助 目前国内大多数宽带服务商使用 PPPoE 作为宽带接入技术 通过给用户分配宽带账号密码 结合认证 计费服务器实现宽带运营服务 终端用户通过在电脑或家庭网关 路由器 上进行宽带拨号 实现连接到网络上网 PPPoE 拨

    2026年3月19日
    2

发表回复

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

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