Javaには、恐ろしくエラーが発生しやすい インターフェイスSerializableを実装する多くのクラス(Swingなど)が含まれています。
たとえば、TableModel拡張によってnewを実装する場合AbstractTableModel、新しいモデルはシリアル化可能である必要がありますが、この機能を使用する予定がないため、シリアル化可能ではなく、シリアル化可能である必要のない内部データ型が含まれている場合はどうなりますか?
そのような場合、 Sonarのようなツールはおかしくなります。Fooどちらも「クラスは非一時的でシリアル化できないインスタンスフィールドを定義する」と不平を言いますbar。
だから私はtransient「フィールドFoo.barは一時的ですが、デシリアライズによって設定されていません」を得るためにそのフィールドを作成します
Sonarのようなツールでエラーが発生しないように、「いいえ、このクラスはシリアル化できません。シリアル化したくない」と言うことはできますか?