我让 XStream 使用这个 xml 为我构建了一个链接哈希映射:
<linked-hash-map>
<entry>
<string>#!/masterofsoundtrack/broadcast</string>
<broadcast>
<attributes class="linked-hash-set"/>
<url>#!/masterofsoundtrack/broadcast</url>
<name>MasterofSoundtrack</name>
<description></description>
<startsClosed>false</startsClosed>
</broadcast>
</entry>
<entry>
<string>MasterofSoundtrack</string>
<broadcast reference="../../entry/broadcast"/>
</entry>
</linked-hash-map>
注意:如果您不了解 XStream 应该做什么,它会将 XML 转换为对象。上面的 XML 意味着有一个链接的哈希映射,两个键都指向同一个对象。
但是,当我使用以下代码遍历它时:
for(Broadcast broadcast: map.getValues()){
managers.add(new Manage(broadcast));
}
我正在运行 manager.add() 线两次。如果我调试并查看地图,它们具有不同的 ID,但看起来相同。这是 XStream 的错误,还是我不理解 getValues() 的错误?