Strings RulesThese rules deal with different problems that can occur with String manipulation. AvoidDuplicateLiteralsCode containing duplicate String literals can usually be improved by declaring the String as a constant field. Here's an example of code that would trigger this rule:
public class Foo {
private void bar() {
buz("Howdy");
buz("Howdy");
buz("Howdy");
buz("Howdy");
}
private void buz(String x) {}
}
StringInstantiationAvoid instantiating String objects; this is usually unnecessary. This rule is defined by the following XPath expression:
//AllocationExpression[Name/@Image='String'][count(.//Expression) < 2][not(ArrayDimsAndInits)]
Here's an example of code that would trigger this rule:
public class Foo {
private String bar = new String("bar"); // just do a String bar = "bar";
}
StringToStringAvoid calling toString() on String objects; this is unnecessary Here's an example of code that would trigger this rule:
public class Foo {
private String baz() {
String bar = "howdy";
return bar.toString();
}
}
|