必须使用某些代码来控制从类中的任何方法访问私有(private) transient 对象字段。最佳实践是什么?
private transient MyClass object = null;
内部获取方法:
private MyClass getObject() {
if (object == null)
object = new MyClass();
return object;
}
// use...
getObject().someWhat();
或“确保”方法:
private void checkObject() {
if (object == null)
object = new MyClass();
}
// use...
checkObject();
object.someWhat();
或者更聪明、更安全或更强大的东西?
最佳答案
transient 字段在序列化时丢失,但只有在反序列化后才需要它们,因此必须在 readObject 方法中将它们恢复为所需的内容...
关于Java:访问类内的 transient 对象字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1715144/