1

このエラーを解決するために何をする必要があるのか​​ 疑問に思っていました。シリアル化するクラスでスキャナーを一時的にするため、スキャナーが使用されている場所の最初のインスタンスで nullpointerexception が発生するようになりました。

つまり、in.next();

仕事で Serializable を使用するのは初めてです。トップレベルのクラスをすべてシリアライズ可能にしました。

また、配列、配列リストなどのデータ構造に対して何かを行う必要があるかどうかも疑問に思っていました。トランジェントとしてタグ付けする必要があるものは何ですか?

どんな助けでも大歓迎です

4

1 に答える 1

2

オブジェクトをシリアル化すると、一時フィールドの値は保持されません。1 つの解決策は、http: //java.sun.com/developer/technicalArticles/Programming/serialization/writeObjectで説明されているように、オブジェクトがデシリアライズされた後に一時フィールドを再初期化するメソッドを実装することです。

ただし、Scannerシリアライズ可能なクラスにオブジェクトがあるというのは、少し奇妙に思えます。おそらく、これを 2 つのクラスに分割する必要があります。シリアル化するデータを含むシリアル化可能なクラスと、ユーザー インターフェイスやファイルの読み取りなどを実行する別のクラスですScanner

于 2012-02-04T12:13:30.930 に答える