編集:ランダムとは、開発者としての私たちにとって意味的な意味のない大きな計算された数を意味します
Serializable インターフェイスを実装する場合、シリアル バージョンの UID を指定することがベスト プラクティスであり、非常に重要です。多くの場所で、乱数が使用されているのをよく見かけます。例えば
有効な Java (第 2 版) pg 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 でさえ、これらの乱数を生成するオプションを提供しています (ただし、主要なデフォルトでは、serialVersionUID を生成するように見えます1L
) 。
乱数を使用する理由 賢明なリビジョン管理のように、1L から開始し、変更されたときに 2L にインクリメントする方が理にかなっていませんか? 一見乱数を使用することを考えることができるのは、最初に serialVersionUID を指定せず、今すぐ指定したい場合です (これにより、実行時に自動生成されたバージョンに結び付けられ、下位互換性サポートが提供されます)。