Not wishing to confuse the debate, but perhaps the correct place for this is a static Strings class, that parallels Objects.
We all know that there are lots of possible methods for such a class, but even if JDK7 had just a few, that would be a good start. Joe, would you be prepared to sponsor a Strings class, and see join on there instead of String? Stephen 2009/10/23 Kevin Bourrillion <kev...@google.com>: > 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.kear...@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) 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 <m...@sun.com> >>> >>> > Date: Fri, 23 Oct 2009 10:10:35 +0200 >>> > From: Rémi Forax <fo...@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 > >