RFR: String.join(), StringJoiner additions
Jim Gish
jim.gish at oracle.com
Wed Apr 17 22:15:19 UTC 2013
I'm open to this, but am interested in what others have to say,
especially as it relates to other lambda features coming in. Bear in
mind that this is at least the third major round of reviews for these
changes, the first round being a year ago on lambda-dev, when I first
submitted them, and then they were distilled some more and greatly
simplified by Henry Jen.
Thanks,
Jim
On 04/17/2013 06:07 PM, Martin Buchholz wrote:
> I'm still wondering about whether a joiner utility should support a
> prefix and suffix. The obvious uses for this are collection class
> toString methods, but we already know that we can and should implement
> those with a single precise char[] construction, so should not use
> StringJoiner, or at least not this StringJoiner implementation. And
> if we're just talking about pure convenience, it's hard to beat
>
> "[" + String.join(...) + "]"
>
>
> On Wed, Apr 17, 2013 at 2:49 PM, Jim Gish <jim.gish at oracle.com
> <mailto:jim.gish at oracle.com>> wrote:
>
> Here's an update:
> http://cr.openjdk.java.net/~jgish/Bugs-5015163-7172553/
> <http://cr.openjdk.java.net/%7Ejgish/Bugs-5015163-7172553/>
> <http://cr.openjdk.java.net/%7Ejgish/Bugs-5015163-7172553/>
>
> Jim
>
>
> On 04/17/2013 03:15 PM, Mike Duigou wrote:
>
> String::
>
> line 1253: This should use {@code } rather than <code></code>.
> I think regular spaces are OK as well. seems inappropriate.
>
> lines 2425/2467: elements may not be null either.
>
> I can tell you (or maybe it's just me) are itching to change :
>
> for (CharSequence cs: elements) {
> 2477 joiner.add(cs);
> 2478 }
>
> to:
>
> elements.forEach(joiner::add);
>
> StringJoiner::
>
> - <blockquote> isn't needed around <pre> as it's already a
> <div> you probably mean to do
>
> <pre> {@code
> ...
> }</pre>
>
> for code samples.
>
> - It would be nice if the empty output generation in three arg
> constructor could be suppressed unless needed. Perhaps a
> special (not null please!) sentinel value?
>
> - Four arg constructor doesn't include emptyOutput in @throws NPE
>
>
> On Apr 11 2013, at 15:33 , Jim Gish wrote:
>
> Please review
> http://cr.openjdk.java.net/~jgish/Bugs-5015163-7175206-7172553/
> <http://cr.openjdk.java.net/%7Ejgish/Bugs-5015163-7175206-7172553/>
> <http://cr.openjdk.java.net/%7Ejgish/Bugs-5015163-7175206-7172553/>
>
> These are changes that we made in lambda that we're now
> bringing into JDK8.
>
> I've made a couple of additions - making StringJoiner
> final and adding a couple of constructors to set the
> emptyOutput chars.
>
> Thanks,
> Jim
>
> --
> Jim Gish | Consulting Member of Technical Staff |
> +1.781.442.0304 <tel:%2B1.781.442.0304>
> Oracle Java Platform Group | Core Libraries Team
> 35 Network Drive
> Burlington, MA 01803
> jim.gish at oracle.com <mailto:jim.gish at oracle.com>
>
>
> --
> Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304
> <tel:%2B1.781.442.0304>
> Oracle Java Platform Group | Core Libraries Team
> 35 Network Drive
> Burlington, MA 01803
> jim.gish at oracle.com <mailto:jim.gish at oracle.com>
>
>
--
Jim Gish | Consulting Member of Technical Staff | +1.781.442.0304
Oracle Java Platform Group | Core Libraries Team
35 Network Drive
Burlington, MA 01803
jim.gish at oracle.com
More information about the core-libs-dev
mailing list