I serializing a list with flexjson
. After serialization, I printing object hashcode()
and I would check to see if the objects are equal.
Problem, after the operation the object reference are changing. I don't want it.
My code;
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));
And output..
1018069468
1018069468
199675306
true
false
-
1018069468
1018069468
199675306
false
false
How can solve this problem?