基本的にHashMap
、オブジェクトの名前に基づいてオブジェクトをキーとして保存しようとする があります。ただし、オブジェクトがまだ にない場合は、HashMap
me anull
を返す代わりに を返しますobject
。その結果、新しいオブジェクトを作成して作成したり、HashMap
それをnull
.
これは私のコードです...
private static Map<String, SObj> MComponentCache = Collections.synchronizedMap(new HashMap<String, Sobj>());
static SObj getSObj(String cName) {
SObj cmp = null;
String pKey = "Component:" + cName.intern();
cmp = MComponentCache.get(cName);
synchronized (pKey){
if (cmp == null){
cmp = new SObj(cName);
MComponentCache.put(cName, cmp);
}
}
return cmp;
}
誰でもこれを修正するのを手伝ってくれませんか。