序列化XStream:序列化java的反序列化。sql。时间导致错误
下面的代码抛出了一个异常,这是我完全没有预料到的
long now = System.currentTimeMillis();
java.sql.Time t1 = new java.sql.Time(now);
String s1 = new XStream().toXML(t1);
java.sql.Time t2 = (java.sql.Time) new XStream().fromXML(s1);
if(!t1.equals(t2)) throw new IllegalArgumentException();
问题是,为什么,它是XStream中的一个bug吗
# 1 楼答案
通过快速的Google搜索,XStream可以使用这个类来序列化java。sql。时间: http://x-stream.github.io/javadoc/com/thoughtworks/xstream/converters/extended/SqlTimeConverter.html
请注意警告:
因此,它被截断到偶数秒,因此与原始(毫秒)的比较失败