私はSerializable interfaceを実装するクラス(ArrayBlockingQueue)を拡張しています。 Sunのドキュメント(と私のIDEは)私がいたずらを防止するために、この値を設定する必要があることを私に助言:JavaでSerializableクラスを拡張するときにserialVersionUIDを選択するのは重要ですか?
しかし、デフォルトのserialVersionUIDの計算は非常に敏感であるため、すべての直列化可能クラスが明示的に、serialVersionUIDの値を宣言することを強くお勧めしますクラスの詳細はコンパイラの実装によって異なる可能性があり、デシリアライズ時に予期しないInvalidClassExceptionsが発生する可能性があります。
ここで、私はそこにどのような価値を置くべきかについてはあまり気にすることができませんでした。それは問題ですか?
申し訳ありませんJon、リンクは存在しないドキュメントを指しています(2年以上経過しています)。 –
@ The Elite Gentleman:ありがとう、Oracleサーバーを指すように編集しました。 –
2つの異なるクラス(MyJLabelとMyEncoderなど)が同じ値の 'serialVersionUID'を使用し、適切にデシリアライズできることを理解できますか?はい、名前が異なるので、バージョンの問題に過ぎないはずです。 – Matthieu