我在应用程序中有一个服务类,我在其中声明了一个如下所示的Map-
Map<String, Boolean> myMap = new ConcurrentHashMap<String, Boolean>([:])
我正在使用下面的函数来初始化Map。这个方法只在我们启动应用程序时调用一次(在播种期间)。-
void addValue(Boolean val) {
myMap.put("Key", val)
}
当我尝试打印Map时,一旦应用程序启动,它就能正常工作并按预期打印值。但是如果我在这个类中更改了一些内容,保存我的更改,并刷新页面,Map就会被清空。它会打印为**[:]**。它会在我的应用程序中出现空指针异常。我不明白为什么会发生这种情况。
1条答案
按热度按时间pjngdqdw1#
Map被清空的原因是因为对类的更改导致服务被重新编译并创建了一个新示例。
您没有指定Map在应用程序中的“播种”方式,但在创建服务的新示例时并没有这样做。