ホームページ >Java >&#&チュートリアル >`ObjectOutputStream.writeObject()` が `java.io.NotSerializableException` をスローするのはなぜですか?
例外は、'Atom' クラスの内部フィールドである 'TransformGroup' クラスが、 「Serializable」インターフェイスは実装されていません。これは、Java の組み込みシリアル化メカニズムを使用してシリアル化することを目的としたクラスの要件です。
この問題を解決するには、次のオプションを検討してください。
オプション 1: 問題のあるクラスを作成するSerializable
「TransformGroup」がコントロール内のカスタム クラスである場合は、「Serializable」インターフェイスを実装するようにクラス定義を変更します。
オプション 2: 非シリアル化可能としてマークする一時的なフィールド
「TransformGroup」がサードパーティ クラスであり、シリアル化された形式でそれを必要としない場合は、@Transient アノテーションを使用して 'Atom' 内のそのフィールドを 'transient' としてマークします。
オプション 3: 代替のシリアル化メソッドを使用する
を実装していないサードパーティのクラスをシリアル化する必要がある場合「シリアル化可能」。代替シリアル化オプションを検討してください:
以上が`ObjectOutputStream.writeObject()` が `java.io.NotSerializableException` をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。