我为我的HashMap编写了一个XMLAdapter。在解组空的hashmap(由空数组表示)时,我初始化一个空的hashmap并返回它,如代码中所示。
@Override
public Map<ServiceAttributeVO, String> unmarshal(ServiceAttributeVOXMLMap serviceAttributeMap) throws Exception {
Map<ServiceAttributeVO, String> r = new HashMap<ServiceAttributeVO, String>();
if (serviceAttributeMap.mapElementList == null) { //if empty list, return the empty hashmap
return r;
}
for (ServiceAttributeVOMapElement mapelement : serviceAttributeMap.mapElementList) {
r.put(mapelement.key, mapelement.value);
}
return r;
}
有人会认为结果对象将包含这个空的hashmap,但实际上hashMap的值为null。
怎么办?