gpt4 book ai didi

java - 如何在运行时为Java类生成类似serialVersionUID的id?

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

我想通过检查其字段名称、类型以及在序列化和反序列化期间发挥作用的类的所有其他组件(不一定是 Java 序列化,因为它可能是 Json 等)来为给定的 Java 类生成 Id。

id 生成应该是可重复的和确定性的,除非字段类型或类的其他组件发生变化。我想我可以递归地遍历类并生成类似的东西,但我不想这样做,除非没有其他方法。

我读到,如果没有声明,Java 将应用一个复杂的过程来确定serialVersionUID。它考虑类成员、其 super 接口(interface)等。它看起来很相似,但我也想为非可序列化类生成 id。

我的用例是,我将 Java 对象存储在外部数据存储中,并且我希望将这个运行时生成的 id 合并到 key 中,以优雅地处理非向后兼容的更改。

最佳答案

无论该字段是否存在,您都可以通过 ObjectStreamClass.forName(String) 准确获取任何类的 serialVersionUID .getSerialVersionUID() .

关于java - 如何在运行时为Java类生成类似serialVersionUID的id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39966454/

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