地图放不工作Java

时间:2015-03-04 15:25:17

标签: hashmap put jsonobject linkedhashmap

我有一个带有一些值的Map,我需要在其中添加一个新条目,问题是put"丢失"对象,我只有新的密钥。

这是代码

public void addSeries(SerieInterface serieObject)
{
    Map<String, Object> series = this.getSeries();
    if (series == null)
        series = new HashMap<String, Object>();
    series.put(serieObject.getSerie_instance(), serieObject);
    this.setSeries(series);
} 

&#34;系列&#34;是现有的map(是一个BasicDBObject,它扩展了LinkedHashMap),我需要在其中添加serieObject对象(一个带有两个扩展JSONObject的String字段的Object); 在&#34; put&#34;之后命令,我在地图中有旧的两个对象,而新的只有&#34;键&#34; (我只有{&#34; Key&#34;:{}}) (我在debug中检查过serieObject,它有所有字段)

有关原因的任何建议吗?为什么对象&#34;价值&#34;地图丢失了? 我没有任何类型的例外,我只是失去了价值......

感谢您的帮助,抱歉我的英语不完美

1 个答案:

答案 0 :(得分:0)

Luca,请在测试结束时更清楚地描述您在结构中的内容,{"Key" : { } }并不意味着什么样的对象是{}值?

查看这个series.put(serieObject.getSerie_instance(), serieObject); serieObject似乎至少有一个奇怪的命名为getSerie_instance的密钥而且它不是null。

另外,还有其他一些事情:

1)this.getSeries(),如果这个Map是直接使用的类属性,如果只返回值,则不要使用setter / getter。

2)if(series == null),为什么不在类的构造函数中初始化这个Map?这样更干净。