static にできる内部クラスを報告します。
static の内部クラスは、外部インスタンスへの暗黙的な参照を維持しません。
Java 17 以前を使用している場合、これによって一般的なメモリリークの原因が未然に取り除かれ、クラスインスタンスごとのメモリ消費量が削減されます。
例:
public class Outer {
class Inner { // 非 static
public void foo() {
bar("x");
}
private void bar(String string) {}
}
}
クイックフィックス適用後:
public class Outer {
static class Inner {
public void foo() {
bar("x");
}
private void bar(String string) {}
}
}