アプリケーションにタグ付けシステムを実装しています。Tags
オブジェクトにタグを付けるすべてのメイン リストがあります。オブジェクトは、メイン リスト内のタグへの参照である複数のタグを持つことができます。
データを json としてファイルに保存し、アプリの再実行時にそれを読み込むと、これらの参照は失われます (tagInMainList == referenceToTag
保持されません)。
どうすればこれを修正できますか?
メモリ使用量やその他の大幅な最適化を最小限に抑える必要がない限り、ID については非常に気にします。申し訳ありませんが、カスタム デシリアライザーが必要です。それを使用すると、Guava のinternerreturn tag
を使用して簡単に置き換えることができます。return myTagInterner.intern(tag)
マップ ルックアップで使用されるキー値のみを保持するように、参照を疎結合した場合はどうなるでしょうか。tagInMainList.equals(keyBasedReferenceToTag)
またはのような等式を引き続きサポートできますtagInMainList.getKey().equals(keyBasedReferenceToTag)
。JSON はより単純で、おそらくさらに簡潔になります。