我对支柱有疑问。
我有一个HashMap
,其中有近50个条目。现在,我必须在动作类(例如TestAction
)中定义此映射。如您所知,该动作类扩展了Action
类。现在,我的怀疑是根本的:我应该将地图加载为静态地图吗?加载此Map静态有什么好处?如果我要将此Action类调用100次,那么此映射是否只会被加载一次?
另外,并非每次执行动作类调用时,我都可以访问此地图。如果我将此动作类称为100次,则可能仅需要访问40次。
如果我将此地图加载为
public Map getMap()
{
Map testMap= new HashMap();
testMap.put("Harish",25);
testMap.put("Ravi",55);
return testMap();
}
缺点是什么?哪种方法最好?
最佳答案
如果您的数据永不改变,则静态加载似乎是最佳选择。它只会被加载一次。
private static final Map testMap = new HashMap();
static {
testMap.put("Harish",25);
testMap.put("Ravi",55);
}
如果有时需要更改它,则其他因素(例如测试和线程)可能会导致其他选项更为可取。