【发布时间】:2014-08-11 18:05:03
【问题描述】:
我有一个不可序列化的第三方 Java 类 A,我想让它可序列化以通过网络发送。想法是制作扩展 A 并实现 Serializable 的新类型 SerializableA。然后我想写这样的东西:
(writeObject [this out]
(.writeObject out {:ff (. this 'ff) :gg (. this 'gg)}))
(readObject [this in]
(let [{ff :ff gg :gg} (.readObject in)]
(set! (. this 'ff) ff)
(set! (. this 'gg) gg)))
我是对的,它只能在单独的文件中使用 :gen-class 来完成?或者有没有其他更聪明的解决方案,例如扩展 Serializable 接口并将 Serializable 属性附加到 A 类?
【问题讨论】:
-
您可能想看看Nippy,这是一个看起来非常灵活并支持自定义类型的 Clojure 序列化库。我不确定这是否会扩展到不可序列化的 Java 类,但它可能值得一看。
标签: java serialization clojure