commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Benson (JIRA)" <>
Subject [jira] [Commented] (LANG-701) StringUtils join with var args
Date Fri, 09 Nov 2012 17:46:12 GMT


Matt Benson commented on LANG-701:

The current {{join}} APIs allow Objects for greatest ease.  Often the user may want a quick
way to format several objects into a delimited String.  The whole {{joinWith}} approach seems
to be feinting in the fluent direction of which several of us, myself included, seem to have
become so fond.  Possible approaches include forgetting about the {{boolean}} parameter as
Gary suggests; Another possibility could be making it the first argument in the overloaded
form in which it appears.  This seems to obscure the semantic intent of the method, however
(IMO, boolean arguments often do).  I am inclined to do the following:

* forget about the end separator... I'll come back to this.
* create similar APIs in {{StringUtils}} and {{StrBuilder}} to handle joins with varargs:
** {{StrBuilder#appendAllWith(String separator, T... objects)}} doesn't necessarily make sense;
I might therefore prefer to reintroduce {{WithSeparator}} for consistency across both APIs
* if a user needs the end separator as well, just use {{new StrBuilder().appendAllWithSeparator(separator,

> StringUtils join with var args
> ------------------------------
>                 Key: LANG-701
>                 URL:
>             Project: Commons Lang
>          Issue Type: New Feature
>          Components: lang.*
>            Reporter: Gabriele Kahlout
>            Priority: Minor
>             Fix For: 3.x
>         Attachments:
> <code>
> final String apple = "apple";
>         final String banana = "banana";
>         final String orange = "orange";
>         final String expected = apple +  SPACE + banana + SPACE + orange;
>         final String  actual = join(SPACE, apple, banana, orange);
>         final int expLength = expected.length();
>         final int actLength = actual.length();
>         assertEquals(expLength, actLength);
>         assertEquals(expected, actual);
> </code>
> I missed the functionality of joining strings with the space separator in one line. BTW,
why space ' ' not a constant field anywhere?

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message