idea编译报错 静态Map初始化报错java.lang.ExceptionInInitializerError

idea编译报错 静态Map初始化报错java.lang.ExceptionInInitializerError

package cc.mrbird.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * ExceptionInInitializerError,这个错误是说变量初始化出现问题,后来经过仔细排查,是在静态类中使用了未初始化的变量,导致空指针,才报的这个错。
 * java.lang.ExceptionInInitializerError
 */
public class TestCodeConf {
    public static Map<String,String> codeMap = new HashMap<String,String>(){
        {
            //java.lang.ExceptionInInitializerError 报错
//            codeMap.put("1010100","北京分公司");
            //解决方法:
            put("1010100","beijing");
        }

    };

    public static String getCodeCityName(String code) {
        String branceCodeCityName = null;
        branceCodeCityName = codeMap.get(code);
        if(branceCodeCityName == null){
            branceCodeCityName = code;
        }
        return branceCodeCityName;
    }

    public static void main(String[] args) {
        System.out.println("取值="+TestCodeConf.getCodeCityName("1010100"));
        System.out.println("取值="+TestCodeConf.getCodeCityName("1010102"));

    }
}
原文地址:https://www.cnblogs.com/oktokeep/p/15722395.html