Inspectopedia Help

Method can be made 'void'

Reports methods whose return values are never used when called. The return type of such methods can be made void.

Methods annotated with Error Prone's or AssertJ's @CanIgnoreReturnValue annotation will not be reported. The quick-fix updates the method signature and removes return statements from inside the method.


// reported if visibility setting is Protected or Public protected String myToUpperCase(String s) { return s.toUpperCase(); } // simple setter, reporting depends on setting public String setStr(String str) { myStr = str; return myStr; } void test() { setStr("value"); // return value is unused myToUpperCase("result"); // return value is unused }

After the quick-fix is applied to both methods:

protected void myToUpperCase(String s) { // 'return' removed completely // as 's.toUpperCase()' has no side effect } public void setStr(String str) { myStr = str; // 'return' removed } ...

NOTE: Some methods might not be reported during in-editor highlighting due to performance reasons. To see all results, run the inspection using Code | Inspect Code or Code | Analyze Code | Run Inspection by Name>

Use the Ignore chainable methods option to ignore unused return values from chainable calls.

Use the Maximal reported method visibility option to control the maximum visibility of methods to be reported.

Inspection options

Here you can find the description of settings available for the Method can be made 'void' inspection, and the reference of their default values.

Ignore chainable methods

Not selected

Maximal method visibility


Inspection Details

Available in:

IntelliJ IDEA 2024.2, Qodana for JVM 2024.2,


Java, 242.SNAPSHOT

Last modified: 20 February 2024