An operation on an Immutable object (String, BigDecimal or BigInteger) won't change the object itself. The result of the operation is a new object. Therefore, ignoring the operation result is an error.import java.math.*; class Test { void method1() { BigDecimal bd=new BigDecimal(10); bd.add(new BigDecimal(5)); // this will trigger the rule } void method2() { BigDecimal bd=new BigDecimal(10); bd = bd.add(new BigDecimal(5)); // this won't trigger the rule } }Additional info can be found at this http://pmd.sourceforge.net/rules/basic.html#UselessOperationOnImmutable site.
| 1 | org.jcoderz.phoenix.report.samples.SimplePmdFindings |
| [87:7] | |