gpt4 book ai didi

java - 为什么序列号版本的UID使用随机数?

转载 作者:搜寻专家 更新时间:2023-10-30 21:26:54 24 4
gpt4 key购买 nike

<分区>

编辑:我所说的随机是指一个大的计算数字,对我们开发人员来说没有语义意义

在实现 Serializable 接口(interface)时,指定串行版本 UID 是最佳实践,也是非常重要的。在许多地方,我经常看到使用随机数。例如

Effective Java(第 2 版)第 312 页:

private static final long serialVersionUID = 234098243823485285L;

来自 Java 6 中的 String 类:

private static final long serialVersionUID = -6849794470754667710L;

来自 Java 6 中的 ArrayList 类:

private static final long serialVersionUID = 8683452581122892189L;

等甚至 Eclipse 也提供了生成这些随机数的选项(尽管主要默认设置似乎是生成 1L 的 serialVersionUID)

为什么要使用随机数?从 1L 开始并在它像任何合理的修订控制一样更改时增加到 2L 不是更有意义吗?我唯一能想到使用看似随机数的情况是,如果您没有指定 serialVersionUID 开始并且现在想这样做(这将您绑定(bind)到运行时自动生成的版本以提供向后兼容性支持)。

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