尝试ConcurrentHashMap.get()时出现NullPointerException

2 java spring

我有以下代码:

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有时在开始时,我有一个NullPointerException在这一行:

String value = obj.get(number);
Run Code Online (Sandbox Code Playgroud)

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

Java版本1.6.0_32

use*_*383 9

看看JavaDocs

NullPointerException 如果键为null,则抛出方法get

我会建议你number在调用get之前执行null检查