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;
      }
  }

このインスペクションは、次のオプションを使用して構成できます。