Back to Intellij Community

IfCanBeAssertion

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

2025.3-rc-2724 B
Original Source

Reports if statements that throw only java.lang.Throwable from a then branch and do not have an else branch. Such statements can be converted to more compact assert statements.

The inspection also reports Guava's Preconditions.checkNotNull(). They can be replaced with a Objects.requireNonNull() call for which a library may not be needed.

Example:

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

After the quick-fix is applied:

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

By default, this inspection provides a quick-fix in the editor without code highlighting.