所以我想为我拥有的一些类编写自定义序列化程序。我需要两种格式,一种是人类可读和可编辑的 yaml 格式,另一种仅供内部使用,可以是二进制的。我知道 Externalizable,但由于我有两种格式,我不确定这是否合适。
理想情况下,我希望将自定义序列化程序作为单独的包中的单独类。这是因为如果我编写一个通用序列化程序,我想将它用于所有类,而不仅仅是特定包内的类。我也想远离 JavaBeans,因为我不会总是有代码访问我想要序列化的类。
但这是我卡住的地方,我想访问类中的私有变量,我知道我可以使用反射“禁用”私有变量,但这不会阻止我在许多 java 系统上运行它,因为安全?
我应该如何编写我的通用序列化程序?