我用 序列化一个列表flexjson
。序列化后,我打印对象hashcode()
并检查对象是否相等。
问题,操作后对象引用发生了变化。我不想要它。
我的代码;
String sameOfString="sameOfString";
List<Object> list=new ArrayList<Object>();
list.add(sameOfString);
list.add(sameOfString);
list.add("differentString");
for(Object str:list){
System.out.println(str.hashCode());
}
**System.out.println(list.get(0)==list.get(1));**
System.out.println(list.get(0)==list.get(2));
System.out.println("--");
String json= new JSONSerializer().exclude("*.class").deepSerialize(list);
List<String> listDeserilized = (List<String>) new JSONDeserializer().deserialize(json);
for(Object str:listDeserilized){
System.out.println(str.hashCode());
}
**System.out.println(listDeserilized.get(0)==listDeserilized.get(1));**
System.out.println(listDeserilized.get(0)==listDeserilized.get(2));
和输出..
1018069468
1018069468
199675306
真的
错误的
-
1018069468
1018069468
199675306
错误的
错误的
如何解决这个问题?