gpt4 book ai didi

java - 我可以更改可序列化类的成员变量类型吗?

转载 作者:太空宇宙 更新时间:2023-11-04 13:44:26 24 4
gpt4 key购买 nike

假设一个类实现了可序列化,并且我序列化了该类的一个对象。在 ding 之后,我更改了内部实现,以便将一个变量的数据类型从 int 更改为 String。。使用 readresolve 进行反序列化时是否可以从序列化对象中获取值?

Class A implements Serializable{
private int first;
private int second;

}

序列化后:

Class A implements Serializable{

private int first;
private String second;

}

最佳答案

您需要实现自定义 readObject() 方法。更多信息here .

该类的两个版本中的serialVersionUID 也需要相同。如果您尚未声明serialVersionUID,那么jvm将根据类的形状计算它。为此,您需要在类的新版本中显式声明旧的serialVersionUID。更多信息here

关于java - 我可以更改可序列化类的成员变量类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31004113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com