冗長な修飾子を報告し、除去することを提案します。 除去することでコードは短縮されますが、動作と意味は変わりません。

例 1:


  // Java 17 以降、すべてのコードは暗黙的に strictfp です
  strictfp class X {

    // 内部列挙型は暗黙的に static です
    static enum Inner {
        A, B, C
    }

    // 内部レコードは暗黙的に static です
    static record R() {
    }
  }

例 2:


  final record R() {
    // すべてのレコードは暗黙的に final です
  }

例 3:


  // すべてのインターフェースは暗黙的に abstract です
  abstract interface Printer {

    // すべてのインターフェースメンバーは暗黙的に public です
    public int size();

    // インターフェースのすべての内部クラスは暗黙的に static です
    static class Inner {}
  }