Inspectopedia Help

Anonymous type has shorter lambda alternative

Reports anonymous classes which could be transformed to a constructor or a factory method call with a lambda expression argument.

The following classes are reported by this inspection:

  • Anonymous classes extending ThreadLocal which have an initialValue() method (can be replaced with ThreadLocal.withInitial)

  • Anonymous classes extending Thread which have a run() method (can be replaced with new Thread(Runnable)

Example:

new Thread() { @Override public void run() { System.out.println("Hello from thread!"); } }.start();

After the quick-fix is applied:

new Thread(() -> { System.out.println("Hello from thread!"); }).start();

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023