0

オブジェクトがデータベースにシリアル化されているという古典的な状況があり、逆シリアル化しようとするとSerializationException: could not deserialize. ここでの私の課題は、このコードが潜在的に の値が異なるさまざまな顧客にインストールされていることですserialVersionUID。そのため、報告されたローカル クラスの値にこれを上書きすることは解決策ではありません。

私の質問は、readObject メソッドを提供すると serialVersionUID チェックが無効になるのか、それともチェックされるのかということです。

readObject が serialVersionUID のチェックを無効にする場合、これで十分でしょうか:

private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
    in.defaultReadObject();
}
4

0 に答える 0