エラーを発生させずに static にできるインスタンスイニシャライザーを報告します。

所属クラスの非 static メンバーを参照していないインスタンスイニシャライザーは static にできます。 インスタンスイニシャライザーはクラスをインスタンス化するたびに実行されますが、static イニシャライザーはクラスが解決されるときに 1 回だけ実行されます。

このインスペクションは空のイニシャライザーと匿名クラスに含まれるインスタンスのイニシャライザーを報告しません。

例:


  class A {
     public static String CONSTANT;
     {
        CONSTANT = "Hello";
     }
  }

クイックフィックス適用後:


  class A {
     public static String CONSTANT;
     static {
        CONSTANT = "Hello"; // クラスごとに 1 回だけ初期化されるようになりました
     }
  }