我想将Java对象保存到文件中(用于稍后的单元测试)。我已经尝试过JSON,但由于我不拥有我正在序列化的对象的类,因此反序列化变得比它的价值更大。(现有类的getter和setter被不同的类型重载,Jackson不知道如何反序列化对象)
现在,我正在探索其他方法(例如,序列化为二进制或其他格式)。我想知道是否有什么东西可以将Java对象转储为二进制/文件,这样反序列化就很简单了。我知道你可以用Serializable接口做到这一点,但是我再说一次,我不拥有这些没有实现这个接口的类,所以它们不能修改。
发布于 2013-01-14 20:27:06
您也可以使用XStream,它不依赖于实现了Serializable接口的类。
发布于 2013-01-14 20:25:10
如果它们实现了Serializable,您不需要拥有它们(也不需要修改它们),您只需使用ObjectOutputStream将它们写入文件,然后使用ObjectInputStream将它们读回
假设这些类有适当的getter和setter,这样做应该没有问题。
发布于 2013-01-14 21:08:45
您也可以使用Kryo。基准测试(here和here)表明,它是序列化/反序列化最快的之一,而且使用的空间也更少。它也不需要Serializable来实现。也就是说,我从来没有亲自使用过它。
https://stackoverflow.com/questions/14318329
复制相似问题