Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7
kevinb at google.com
Fri Oct 23 19:37:36 UTC 2009
While I certainly love my "Joiner" baby, and while y'all have blanket
permission to make use of any of our code you want, I think it's entirely
appropriate for the JDK to just hit the 80% case with a static method
directly on String.
(And yes, the fact that split() is an instance method is a false parallel.)
On Fri, Oct 23, 2009 at 8:58 AM, Joe Kearney
<Joe.Kearney at morganstanley.com>wrote:
> From the peanut gallery, it seems to me that there is a genuine reason to
> leave join as a static method (if we're not going after the google-collections
> approach of a Joiner class<http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Joiner.html#on%28java.lang.String%29>)
> in that split acts on one existing String, whereas join creates one from
> others. On which object would you call the join method? The separator? I
> know this was covered on this list before, but it still strikes me as
> looking a little wierd.
> ",".join("a", "b", "c")
>> Joiner.on(",").join("a", "b", "c")
> 2009/10/23 Mark Reinhold <mr at sun.com>
> > Date: Fri, 23 Oct 2009 10:10:35 +0200
>> > From: Rémi Forax <forax at univ-mlv.fr>
>> > Le 23/10/2009 03:53, Joe Darcy a écrit :
>> >> Following up on this, what is the exact revised proposal?
>> >> In java.lang.String:
>> >> public static String join(String separator, Iterable<?> objects);
>> >> public static String join(String separator, Object objects);
>> >> public static String join(String separator, Object first, Object...
>> >> with analogous methods in StringBuffer and StringBuilder return that
>> >> respectively, instead of String?
>> > I don't know. In my opinion, the main problem with join specified using
>> > static methods is that split is not currently specified as a static
>> > method. Because join is the dual of split, one could find the usage of
>> > static methods weird.
>> I agree. The join methods should be instance methods, not static methods.
>> - Mark
Kevin Bourrillion @ Google
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the core-libs-dev