序列化和构造函数安全之间的权衡

时间:2016-05-03 10:02:30

标签: java oop object serialization constructor

我有一个像这样的简单对象:

public class MyObject
{

    private final Integer usefulField;

    public MyObject(int parameter){usefulField=parameter)

    ....


}

它有一个字段,我想确保在调用此类的任何其他方法之前存在。我让那个领域最终并在构造函数中提出要求。大。

但是现在我需要序列化这个对象。看起来在这种情况下,如果使用no-args构造函数和setter / getter对这个对象的安全性较低,那么生活会变得如此简单。当然有序列化库有时会设法克服这个问题,但大多数情况下它们是神秘的,有时会停止任意工作。

因此,似乎需要在如何安全地编写java以及如何编写序列化之间进行权衡。我在这里错过了一个节拍吗?有没有办法避免这个问题(除了像我目前那样编写一整套重复的工厂类)?

0 个答案:

没有答案