我有一个像这样的简单对象:
public class MyObject
{
private final Integer usefulField;
public MyObject(int parameter){usefulField=parameter)
....
}
它有一个字段,我想确保在调用此类的任何其他方法之前存在。我让那个领域最终并在构造函数中提出要求。大。
但是现在我需要序列化这个对象。看起来在这种情况下,如果使用no-args构造函数和setter / getter对这个对象的安全性较低,那么生活会变得如此简单。当然有序列化库有时会设法克服这个问题,但大多数情况下它们是神秘的,有时会停止任意工作。
因此,似乎需要在如何安全地编写java以及如何编写序列化之间进行权衡。我在这里错过了一个节拍吗?有没有办法避免这个问题(除了像我目前那样编写一整套重复的工厂类)?