Since: PMD 4.0
In JDK 1.5, calling new Short() causes memory allocation. Short.valueOf() is more memory friendly.
This rule is defined by the following XPath expression:
//PrimaryPrefix /AllocationExpression [not (ArrayDimsAndInits) and (ClassOrInterfaceType/@Image='Short' or ClassOrInterfaceType/@Image='java.lang.Short')]
Example:
public class Foo { private Short i = new Short(0); // change to Short i = Short.valueOf(0); }