Andriy Rozeluk found another case for PMD to catch; the RFE is here. Here's a code sample:
class Foo {
void bar(StringBuffer sb) {
// Should just use sb.length() == 0
if (!sb.toString().equals('')) {
sb.append(',');
}
}
}This is bad because StringBuffer.toString() creates a new String object which gets thrown away immediately after the equals('') check. Blah!
What other wasteful method chaining idioms are out there that PMD could catch?