gpt4 book ai didi

java - 如何更改一堆 java 可序列化类的包

转载 作者:搜寻专家 更新时间:2023-11-01 03:13:59 25 4
gpt4 key购买 nike

我想更改应用程序中多个类的包。一个很好的 eclipse 编辑器很好,但我的一些类是可序列化的,我需要支持跨版本兼容性。

关于如何完成的任何想法?可以自动/半自动完成吗?

最佳答案

如果类结构保持不变,您可以子类化自定义 ObjectInputStream,在其构造函数中调用 enableResolveObject(true),然后用类似的东西覆盖 readClassDescriptor() :

protected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException {
ObjectStreamClass read = super.readClassDescriptor();
if (read.getName().startsWith("com.old.package.")) {
return ObjectStreamClass.lookup(Class.forName(read.getName().replace("com.old.package.", "org.new.package.")));
}
return read;
}

关于java - 如何更改一堆 java 可序列化类的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3884492/

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