hg: jdk8/tl/jdk: 8014383: StringJoiner example in class description not in sync with streams API
Paul Sandoz
paul.sandoz at oracle.com
Fri Jun 7 07:37:14 UTC 2013
Hi Roel,
Would you like to submit a patch and contribute?
Paul.
On Jun 4, 2013, at 4:16 PM, Roel Spilker <r.spilker at gmail.com> wrote:
> 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
>
>
More information about the core-libs-dev
mailing list