FYI, <div><br></div><div>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.</div>
<div><br></div><div>(And yes, the fact that split() is an instance method is a false parallel.)</div><div><br></div><div><br><br><div class="gmail_quote">On Fri, Oct 23, 2009 at 8:58 AM, Joe Kearney <span dir="ltr"><<a href="mailto:Joe.Kearney@morganstanley.com">Joe.Kearney@morganstanley.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<br><br>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 <a href="http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/base/Joiner.html#on%28java.lang.String%29" target="_blank">google-collections approach of a Joiner class</a>) 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.<br>


<br><blockquote style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex" class="gmail_quote"><span style="font-family:courier new,monospace">",".join("a", "b", "c")</span><br>


</blockquote>versus<br><blockquote style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex" class="gmail_quote"><span style="font-family:courier new,monospace">Joiner.on(",").join("a", "b", "c")</span><br>


</blockquote><br>Thanks,<br>Joe<br><br><div class="gmail_quote">2009/10/23 Mark Reinhold <span dir="ltr"><<a href="mailto:mr@sun.com" target="_blank">mr@sun.com</a>></span><div><div></div><div class="h5"><br><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">


> Date: Fri, 23 Oct 2009 10:10:35 +0200<br>
> From: Rémi Forax <<a href="mailto:forax@univ-mlv.fr" target="_blank">forax@univ-mlv.fr</a>><br>
<div><br>
> Le 23/10/2009 03:53, Joe Darcy a écrit :<br>
</div><div>>> Following up on this, what is the exact revised proposal?<br>
>><br>
>> In java.lang.String:<br>
>><br>
>>    public static String join(String separator, Iterable<?> objects);<br>
>>    public static String join(String separator, Object[] objects);<br>
>>    public static String join(String separator, Object first, Object... rest);<br>
>><br>
>> with analogous methods in StringBuffer and StringBuilder return that type,<br>
>> respectively, instead of String?<br>
><br>
> I don't know. In my opinion, the main problem with join specified using<br>
> static methods is that split is not currently specified as a static<br>
> method.  Because join is the dual of split, one could find the usage of<br>
> static methods weird.<br>
<br>
</div>I agree.  The join methods should be instance methods, not static methods.<br>
<font color="#888888"><br>
- Mark<br>
</font></blockquote></div></div></div><br>
</blockquote></div><br><br clear="all"><br>-- <br>Kevin Bourrillion @ Google<br>internal:  <a href="http://go/javalibraries">http://go/javalibraries</a><br>external: <a href="http://guava-libraries.googlecode.com">guava-libraries.googlecode.com</a><br>
<br>
</div>