Back to Intellij Community

UnnecessaryModifier

java/java-impl/resources/inspectionDescriptions/UnnecessaryModifier.html

2025.3-rc-2769 B
Original Source

Reports redundant modifiers and suggests to remove them. The resulting code will be shorter, but the behaviour and meaning will remain the same.

Example 1:

// all code is implicitly strictfp under Java 17 and higher
  strictfp class X {

    // inner enums are implicitly static
    static enum Inner {
        A, B, C
    }

    // inner records are implicitly static
    static record R() {
    }
  }

Example 2:

final record R() {
    // all records are implicitly final
  }

Example 3:

// all interfaces are implicitly abstract
  abstract interface Printer {

    // all interface members are implicitly public
    public int size();

    // all inner classes of interfaces are implicitly static
    static class Inner {}
  }