public class A implements Serializable
{
private static final long serialVersionUID = 1L;
private Object value;
private Type type;
....
}
它包含了不可序列化的"Object",所以类A将被呈现为不可序列化的。
"对象值"可以是Integer, String…,取决于"Type Type "
如何使A可序列化?提前感谢!
编辑:将"对象值"丢失(当反序列化),如果使用"私有瞬态对象值"?我可不想把它弄丢了。
是否有一个通用的可序列化对象类型?
"Object value"可以是Integer, String…
Integer和String都是可序列化的。它会成功的。您不需要做任何特殊的事情来序列化它们。
是否有一个通用的可序列化对象类型?
是的,序列化:
private Serializable value;
transient
关键字服务器
private transient Object value;
另一种方法是使对象静态,如果它不代表你的实例。静态变量隐式transient
将"对象值"丢失(当反序列化),如果使用"私有瞬态对象值"?我可不想把它弄丢了。
如果不序列化变量,它的值将丢失。序列化保存类实例的状态。当实例将被反序列化时,它将具有Object值,但它将被初始化为默认值,即null。所以,是的,这个值将会丢失,无论如何,这就是将变量设置为瞬态的目的。
可以使用transient关键字跳过字段的序列化:
private transient Object value;