Sponsoring getting 5015163 "(str) String merge/join that is the inverse of String.split()" into JDK 7
Kevin Bourrillion
kevinb at google.com
Fri Oct 23 19:37:36 UTC 2009
FYI,
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:
> Hi,
>
> 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")
>>
> versus
>
>> Joiner.on(",").join("a", "b", "c")
>>
>
> Thanks,
> Joe
>
> 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...
>> rest);
>> >>
>> >> with analogous methods in StringBuffer and StringBuilder return that
>> type,
>> >> 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
internal: http://go/javalibraries
external: guava-libraries.googlecode.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/core-libs-dev/attachments/20091023/a038ed78/attachment.html>
More information about the core-libs-dev
mailing list