Redundant 'String' operation
Reports redundant calls to String constructors and methods like toString() or substring() that can be replaced with a simpler expression.
For example, calls to these methods can be safely removed in code like "string".substring(0), "string".toString(), or new StringBuilder().toString().substring(1,3).
Example:
After the quick-fix is applied:
Note that the quick-fix removes the redundant constructor call, and this may affect String referential equality. If you need to preserve it, even though it is considered bad practice, suppress the warning or use the inspection setting to ignore redundant String constructor calls.
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.
StringOperationCanBeSimplified- 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.
Use the Do not report String constructor calls option below to not report code like the example above. This will avoid changing the outcome of String comparisons with == or != after applying the quick-fix in code that uses new String() calls to guarantee a different object identity.
Use the Do not report single argument substring() calls option below to not report code like the following.
which can be replaced with the following.
New in 2018.1
Inspection options
Here you can find the description of settings available for the Redundant 'String' operation inspection, and the reference of their default values.
- Do not report String constructor calls
Default value:
Not selected- Do not report redundant single argument substring() calls
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: |