使用Java首选项API序列化对象
当我第一次开始使用Java使用Java首选项API序列化对象,java,serialization,preferences,Java,Serialization,Preferences,当我第一次开始使用JavaPreferencesAPI时,API中一个明显的遗漏是putObject()方法。我一直想知道为什么他们没有包括它 所以,我在谷歌上搜索了一下,发现了IBM的这篇文章,它向您展示了如何做到这一点: 他们使用的方法对我来说似乎有点黑客,因为你必须将对象分解成字节矩阵,存储它们,然后重新组装它们 我的问题是,有人尝试过这种方法吗?你能证明这是存储/检索对象的好方法吗 我还很好奇为什么Java开发人员将putObject()从API中删除。有人有宝贵的见解吗?这篇文章介绍了
Preferences
API时,API中一个明显的遗漏是putObject()
方法。我一直想知道为什么他们没有包括它
所以,我在谷歌上搜索了一下,发现了IBM的这篇文章,它向您展示了如何做到这一点:
他们使用的方法对我来说似乎有点黑客,因为你必须将对象
分解成字节
矩阵,存储它们,然后重新组装它们
我的问题是,有人尝试过这种方法吗?你能证明这是存储/检索对象的好方法吗
我还很好奇为什么Java开发人员将
putObject()
从API中删除。有人有宝贵的见解吗?这篇文章介绍了一种可靠的方法。我发现有几件事我可能会做得不同(比如我会存储碎片数量的计数以及碎片本身,这样我在检索它们时就可以很容易地找出它们)
但是,您关于序列化的评论是错误的。。。。要存储的对象必须是可序列化的。。。。文档使用的ObjectOutputStream就是这样完成任务的
因此,是的,它看起来是一种可靠的机制,您需要有可序列化的对象,我认为putObject和getObject不属于API的原因有两个:
“记住ObjectOutputStream只处理实现java.io.Serializable接口的对象,这一点很重要。”(引用上述文章)啊,是的,找到了。我的错误是不够彻底。编辑。