Reports assignment to, or modification of lambda parameters. Although occasionally intended, this construct may be confusing and is often caused by a typo or use of a wrong variable.

The quick-fix adds a declaration of a new variable.

Example:


  list.forEach(s -> {
    s = s.trim();
    System.out.println("String: " + s);
  });

After the quick-fix is applied:


  list.forEach(s -> {
    String trimmed = s.trim();
    System.out.println("String: " + trimmed);
  });

Use the Ignore if assignment is a transformation of the original parameter option to ignore assignments that modify the parameter value based on its previous value.