繁体   English   中英

尝试 ConcurrentHashMap.get() 时出现 NullPointerException

[英]NullPointerException when attempting ConcurrentHashMap.get()

我有以下代码:

public class MyEvent implements org.apache.camel.Processor
{
    static private final Map<Long, String> obj = new ConcurrentHashMap<Long, String>();

    @PostConstruct
    public void postConstruct() 
    {
        for (Object object : cacheList) 
        {
            obj.put(object.getId(), object.getName());
        }
    }

    @Override
    public void process(Exchange exchange) throws Exception 
    {
        synchronized (obj) 
        {
            String value = obj.get(number);
        }
    }
}

有时在启动时,我在这一行中有一个NullPointerException

String value = obj.get(number);

我的问题是:为什么我会收到这个错误,我该如何解决?

Java 版本 1.6.0_32

看看JavaDocs

如果键为空,方法 get 将抛出NullPointerException

我会建议您在拨打 get 之前对number进行空检查

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM