|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.sourceforge.pmd.AbstractPropertySource
net.sourceforge.pmd.lang.rule.AbstractRule
net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck
net.sourceforge.pmd.lang.java.rule.strings.InefficientEmptyStringCheckRule
public class InefficientEmptyStringCheckRule
This rule finds code which inefficiently determines empty strings. This code
if(str.trim().length()==0){....
is quite inefficient as trim() causes a new String to be created.
Smarter code to check for an empty string would be:
Character.isWhitespace(str.charAt(i));
| Field Summary |
|---|
| Fields inherited from class net.sourceforge.pmd.AbstractPropertySource |
|---|
propertyDescriptors, propertyValuesByDescriptor |
| Fields inherited from interface net.sourceforge.pmd.Rule |
|---|
VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR |
| Constructor Summary | |
|---|---|
InefficientEmptyStringCheckRule()
|
|
| Method Summary | |
|---|---|
boolean |
appliesToClassName(String name)
|
boolean |
isTargetMethod(JavaNameOccurrence occ)
Determine if we're dealing with String.length method |
| Methods inherited from class net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck |
|---|
checkNodeAndReport, getComparisonTargets, visit |
| Methods inherited from class net.sourceforge.pmd.lang.java.rule.AbstractJavaRule |
|---|
apply, getDeclaringType, importsPackage, isQualifiedName, isSuppressed, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitAll |
| Methods inherited from class net.sourceforge.pmd.AbstractPropertySource |
|---|
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface net.sourceforge.pmd.PropertySource |
|---|
definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues |
| Constructor Detail |
|---|
public InefficientEmptyStringCheckRule()
| Method Detail |
|---|
public boolean isTargetMethod(JavaNameOccurrence occ)
isTargetMethod in class AbstractInefficientZeroCheckocc - The name occurrence
public boolean appliesToClassName(String name)
appliesToClassName in class AbstractInefficientZeroCheck
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||