java 测试的HashMap和ConcurrentHashMap中是否可以存储密钥为空的数据,测试显示前者可以,后者是不可以的,会在看跌的时候校验密钥是否为空,如果为空则会抛出数Npe

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 测试的HashMap和ConcurrentHashMap中是否可以存储密钥为空的数据,测试显示前者可以,后者是不可以的,会在看跌的时候校验密钥是否为空,如果为空则会抛出数Npe相关的知识,希望对你有一定的参考价值。

package org.hujian.jdk.map;

import org.hujian.common.JvmTestRunner;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;

/**
 * Created on 2018/11/6 17:47.
 *
 */
public class TestHashMap extends JvmTestRunner {
    /**
     * 在这里实现测试逻辑,不提供参数列表以及返回值,执行该方法应该测试到
     * 你需要实现的所有逻辑,本方法单线程执行(main)
     */
    @Override
    protected void execute() {
        // HashMap中是否可以存null
        Map<String, String> map = new HashMap<>();
        ConcurrentMap<String, String> concurrentMap = new ConcurrentHashMap<>();

        map.put(null, null); // 可以存null
        map.put(null, null); // 可以存null
        
        concurrentMap.put(null, null); // 不可以存null

    }

    public static void main(String[] args) {
        new TestHashMap().execute();
    }
}

以上是关于java 测试的HashMap和ConcurrentHashMap中是否可以存储密钥为空的数据,测试显示前者可以,后者是不可以的,会在看跌的时候校验密钥是否为空,如果为空则会抛出数Npe的主要内容,如果未能解决你的问题,请参考以下文章

ConcurrentHashMap

Java基础:HashMap假死锁问题的测试分析和总结

关于Java中的HashMap的深浅拷贝的测试与几点思考

201771010118 马昕璐 《面向对象设计 java》第十七周实验总结

java 关于 hashmap 的实现原理的测试

线程超时