0

これは Stackoverflow への最初の投稿です。お手柔らかにお願いします :) 私は初心者の Java 開発者で、クラスの状態をネットワーク ドライブに保存する必要がある作業用のアプリケーションに取り組んでいます。ファイル内の 1 つの属性が他の属性よりも多くアクセスおよび変更 (保存およびロード) されるため、属性を個別に保存するのが最も簡単であることがわかりました (2 つしかありません)。一方で、プログラムが頻繁に使用されている間に、プログラムに取り組み、改善したいと考えています。問題は、クラスの実装で何かを変更すると、以前のバージョンのクラスでファイルからロードされた状態と互換性がなくなることです。

例: 古いクラス: - 名前 - 住所 - 電話番号

新しいクラス: - 名前 - 住所 - 電話番号 - 年齢

古いクラスをファイルから新しいクラスにロードすると、ロードされたクラスが新しいクラスと互換性がないという例外がスローされます。そのあたりの解決策はありますか?

事前に助けてくれてありがとう!:)

追加: ああ、ファイルの保存に ObjectOutputStream を使用しています。

4

1 に答える 1

0

状態を XML として保存します。新しいバージョンでは、純粋にアノテーションを使用して、XML との間でクラス オブジェクトを格納/ロードできるJAXBがあります。

これにより、より多くの制御が可能になります (=何を保持するかをコーディングするためにより多くの規律が必要になります)。でも簡単です。また、開発中に XML に少しパッチを当てることもできます。(XSD で完全な JAXB を使用する必要はありません。)

于 2013-09-25T15:22:12.820 に答える