LongInstantiation

gInstantiation">

LongInstantiation

Since: PMD 4.0

In JDK 1.5, calling new Long() causes memory allocation. Long.valueOf() is more memory friendly.

This rule is defined by the following XPath expression:


//PrimaryPrefix
/AllocationExpression
[not (ArrayDimsAndInits)
and (ClassOrInterfaceType/@Image='Long'
or ClassOrInterfaceType/@Image='java.lang.Long')]

    

Example:

                

public class Foo {
private Long i = new Long(0); // change to Long i =
Long.valueOf(0);
}