
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
42 lines
746 B
Plaintext
42 lines
746 B
Plaintext
== Why is this an issue?
|
|
|
|
Assembling a ``++StringBuilder++`` or ``++StringBuffer++`` into a ``++String++`` merely to see if it's empty is a waste of cycles. Instead, jump right to the heart of the matter and get its ``++.length()++`` instead.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
StringBuilder sb = new StringBuilder();
|
|
// ...
|
|
if ("".equals(sb.toString()) { // Noncompliant
|
|
// ...
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
StringBuilder sb = new StringBuilder();
|
|
// ...
|
|
if (sb.length() == 0) {
|
|
// ...
|
|
}
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Test "xxx.length()" against 0 to see if "xxx" is empty.
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|