有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring启动,运行静态块

我对Spring框架相当陌生。在我的应用程序中,我试图调用一个静态类方法,但它遇到了一些异常。 我正在调用其方法的类为:-

    public class BmiRangeUtility {
        private static Map<Character, BmiRangeResponse> bmiMap = null;
        static {
            List<BmiRangeResponse> bmiRange =new DefaultBmiService().findBmiRange();
            bmiRange.stream().peek(e->bmiMap.put(e.getGender(), e));
        }
        public static BmiRangeResponse getBmiMapDetails(Character gender) {
            return bmiMap.get(gender);
        }
    }

我的服务如下:-

     @Service
        public class DefaultBmiService implements BmiService {
        @Autowired 
        private SomeRepository repo;
        //some methods
        }

现在,当我运行bmirange实用程序时。getBmiMapDetails('M')它正在运行到NullPointerException


共 (1) 个答案

  1. # 1 楼答案

    将你的BMI地图更改为这样:

    private static Map<Character, BmiRangeResponse> bmiMap = new HashMap<Character, BmiRangeResponse>();