Unnecessary call to 'toString()'
Reports calls to toString() that are used in the following cases:
In string concatenations
In the
java.lang.StringBuilder#append()orjava.lang.StringBuffer#append()methodsIn the methods of
java.io.PrintWriterorjava.io.PrintStreamin 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:
After the quick-fix is applied:
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.
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 value:
Selected
Suppressing Inspection
You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:
More detailed instructions as well as other ways and options that you have can be found in the product documentation:
Inspection Details | |
|---|---|
By default bundled with: |