java.io.Serializable を実装しているものの、serialVersionUID フィールドを定義していない非 static の内部クラスを報告します。
serialVersionUID フィールドがない状態でクラスを変更すると、以前にシリアル化されたバージョンが読み取れなくなります。 Serializable の非 static 内部クラスには serialVersionUID フィールドを含めることを強くお勧めします。そうしない場合、デフォルトのシリアル化アルゴリズムにより、合成アクセサーメソッドが異なるコンパイラー間でシリアル化されたバージョンの互換性が失われる可能性があります。
欠落している serialVersionUID フィールドを追加するクイックフィックスが提案されます。
例:
class Outer {
class Inner implements Serializable {}
}
クイックフィックス適用後:
class Outer {
class Inner implements Serializable {
private static final long serialVersionUID = -7004458730436243902L;
}
}
このインスペクションは、次のオプションを使用して構成できます。
Serializable を継承しているものの、シリアル化を目的としていないクラスを対象としています。
Serializable 匿名クラスを無視するかどうか。