Inspectopedia Help

Unnecessary call to 'toString()'

Reports calls to toString() that are used in the following cases:

  • In string concatenations

  • In the java.lang.StringBuilder#append() or java.lang.StringBuffer#append() methods

  • In the methods of java.io.PrintWriter or java.io.PrintStream

  • in the methods org.slf4j.Logger

In these cases, conversion to string will be handled by the underlying library methods, and the explicit call to toString() is not needed. Removing redundant toString() calls can occasionally even improve performance and reduce object allocations.

Example:

System.out.println(this.toString())

After the quick-fix is applied:

System.out.println(this)

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

UnnecessaryToStringCall
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Java | Code style issues

Note that without the toString() call, the code semantics might be different: if the expression is null, then the null string will be used instead of throwing a NullPointerException.

Use the Report only when qualifier is known to be not-null option to avoid warnings for the values that could potentially be null. Removing the explicit toString() in these cases will change the runtime semantics from throwing a NullPointException to silently accepting the value when it is null.

Inspection options

Here you can find the description of settings available for the Unnecessary call to 'toString()' inspection, and the reference of their default values.

Report only when qualifier is known to be not-null

Default: Selected

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.2, Qodana for JVM 2024.2,

Can be installed with plugin:

Java, 242.22892

Last modified: 11 September 2024