报告赋值后未使用的赋值。 如果不使用,最好移除该赋值,以缩短代码并避免冗余分配。

将报告以下情况:

配置检查:

使用报告冗余初始值设定项选项可以报告冗余的初始值设定项:


  int getI() {
    int i = 0; // 冗余初始化
    i = 2;
    return i;
  }

使用报告可被替换为二元表达式的前缀表达式选项可以报告可将 ++i 表达式替换为 i + 1 的情况:


  int preInc(int value) {
    int res = value;
    return ++res;
  }

使用报告未使用更改后的值的后缀表达式选项可以报告稍后未使用 i 的值的 i++ 情况:


  int postInc(int value) {
    int res = value;
    return res++;
  }

使用报告其值从未被使用的模式变量选项可以报告模式变量的值在读取之前被覆盖的情况:


  if (object instanceof String s) {
      s = "hello";
      System.out.println(s);
  }

使用报告其值从未被使用的迭代形参选项可以报告增强的 for 语句的迭代形参的值在读取前被覆盖的情况:


  for (String arg : args) {
      arg = "test";
      System.out.println(arg);
  }