RFR: String.join(), StringJoiner additions (original) (raw)
Brian Goetz brian.goetz at oracle.com
Thu Apr 18 01:10:01 UTC 2013
- Previous message: RFR: String.join(), StringJoiner additions
- Next message: RFR: String.join(), StringJoiner additions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
The motivation was indeed that it would support more efficient Collection.toString. (But, I don't believe anything actually uses that feature right now, other than tests.)
Even if our implementations were not to use this because we had a better for-experts construction, I still think this is a useful feature that users classes may benefit from in their own toString methods.
On 4/17/2013 6:15 PM, Jim Gish wrote:
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
. 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:: -
isn't needed aroundas it's already ayou probably mean to do{@code... } 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>
- Previous message: RFR: String.join(), StringJoiner additions
- Next message: RFR: String.join(), StringJoiner additions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]