Hi Michael,
thanks for pointing out this serialization concern, I didn't think about it at
all.
I've wrote a simple test for serialization of patched TreeMap and it works
without errors for both no-args constructor and constructor with comparator:
public class TreeMapSerialization {
public static void main(String[] args) throws Exception {
TreeMap<Integer, String> serialized = new
TreeMap<>(Comparator.reverseOrder());
serialized.put(1, "1");
serialized.put(2, "2");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(serialized);
oos.flush();
baos.flush();
oos.close();
baos.close();
ByteArrayInputStream bais = new
ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bais);
TreeMap<Integer, String> deserialized = (TreeMap<Integer, String>)
ois.readObject();
deserialized.put(3, "3");
System.out.println(deserialized);
}
}
I hope I don't miss anything, so there shouldn't be any serialization issues.
Regards,
Sergey Tsypanov