hg: jdk8/tl/jdk: 8014383: StringJoiner example in class description not in sync with streams API
Roel Spilker
r.spilker at gmail.com
Tue Jun 4 07:16:01 PDT 2013
Looking at the implementation, the code in toString suggest that it's
worthwhile to optimize for an empty suffix (although I doubt that this
optimization has any measurable effects). But the constructor always
concatenates the prefix and the suffix, which results in both a new string
instance and a StringBuilder. If an empty suffix is common (actually,
having a separate constructor and the current toString implementation both
suggest it is), I think that the initializing the emptyValue field in the
constructor should be written as:
this.emptyValue = this.suffix.isEmpty() ? this.prefix : this.prefix +
this.suffix;
Actually, since there is also a setEmptyValue, I think that the field
should be left null, and toString and length check for null, resulting in
even less objects allocated in that scenario.
Roel
On Mon, Jun 3, 2013 at 5:43 PM, <paul.sandoz at oracle.com> wrote:
> Changeset: a79e2683eae3
> Author: psandoz
> Date: 2013-06-03 17:37 +0200
> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a79e2683eae3
>
> 8014383: StringJoiner example in class description not in sync with
> streams API
> Reviewed-by: alanb
>
> ! src/share/classes/java/util/StringJoiner.java
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130604/1d893d7f/attachment.html
More information about the compiler-dev
mailing list