CopyOnWriteArrayList は Serializable とマークされています。しかし、その内部状態は一時的なものです。このタイプのリストで何をシリアル化しようとしているのか、誰でも答えてください。
/** The array, accessed only via getArray/setArray. */
private volatile transient Object[] array;
CopyOnWriteArrayList は Serializable とマークされています。しかし、その内部状態は一時的なものです。このタイプのリストで何をシリアル化しようとしているのか、誰でも答えてください。
/** The array, accessed only via getArray/setArray. */
private volatile transient Object[] array;
このwriteObjectメソッドは、特定の方法で状態を保存するためにオーバーライドされています。したがって、実際のストア、つまりarray一時的であることは、CopyOnWRiteArrayList オブジェクトのシリアル化には影響しません。
オブジェクト内の一時メンバーは、JVM によるデフォルトのシリアル化プロセス中に残されます。ただし、 をオーバーライドwriteObject()すると、デフォルトのシリアル化戦略ではなく、そのメソッド定義がオブジェクトのシリアル化に使用されます。