报告仅从 then 分支抛出 java.lang.Throwable 而没有 else 分支的 if 语句。 此类语句可以转换为更紧凑的 assert 语句。

检查还报告 Guava 的 Preconditions.checkNotNull()。 它们可以替换为不需要库 Objects.requireNonNull() 调用。

示例:


  if (x == 2) throw new RuntimeException("fail");
  if (y == null) throw new AssertionError();
  Preconditions.checkNotNull(z, "z");

在应用快速修复后:


  assert x != 2 : "fail";
  Objects.requireNonNull(y);
  Objects.requireNonNull(z, "z");

默认情况下,此检查在编辑器中提供快速修复,而没有高亮显示代码。