Reports fragments of Java code which are identical to the existing static methods suggesting to reuse these static methods. Reusing existing methods makes code shorter and more readable.

Example:


  static List<String> readFileAndTrim(Path path) throws IOException {
    List<String> lines = Files.readAllLines(path);
    return lines.stream().map(String::trim).toList();
  }
  
  static List<String> readFileAndTrim(String path) throws IOException {
    Path p = Path.of(path);
    List<String> lines = Files.readAllLines(p);
    return lines.stream().map(String::trim).toList();
  }
Here, the second method is quite similar to the first one, and the first one can be reused in its implementation. After the quick-fix is applied, the result will look like this:

  static List<String> readFileAndTrim(Path path) throws IOException {
    List<String> lines = Files.readAllLines(path);
    return lines.stream().map(String::trim).toList();
  }

  static List<String> readFileAndTrim(String path) throws IOException {
    Path p = Path.of(path);
    return readFileAndTrim(p);
  }

New in 2024.1