我尝试使用 Map
、HashMap
和 LinkedHashMap
作为 AutoBean 工厂的类型,但在序列化后它总是会改变初始元素的顺序。
我不想发送额外的 ArrayList
来保存顺序数据。有没有办法强制 AutoBean 在 Map
中保持顺序?
我尝试使用 Map
、HashMap
和 LinkedHashMap
作为 AutoBean 工厂的类型,但在序列化后它总是会改变初始元素的顺序。
我不想发送额外的 ArrayList
来保存顺序数据。有没有办法强制 AutoBean 在 Map
中保持顺序?
http://docs.oracle.com/javase/6/docs/api/java/util/Map.html
地图的顺序被定义为地图集合视图上的迭代器返回其元素的顺序。一些地图实现(如TreeMap类)对它们的顺序做出了特定的保证;而其他一些实现(如HashMap类)则没有。显然,在GWT 2.4中,LinkedHashMap.clone()
返回一个HashMap
,与纯Java的行为不同。AutoBean可能依赖于clone(),这最终会破坏顺序。