Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #10759

Re: for :each style question

From Lew <lewbloch@gmail.com>
Newsgroups comp.lang.java.programmer
Subject Re: for :each style question
Date 2011-12-14 16:53 -0800
Organization http://groups.google.com
Message-ID <31677245.18.1323910421101.JavaMail.geo-discussion-forums@yqnd19> (permalink)
References <30fdd7tlkkejm29ufduhc9nnfk7uu3c6h0@4ax.com> <jb6iv8$8j1$1@dont-email.me> <iyBBq.2059$2e7.1155@newsfe18.iad> <MPG.294d6d4544cbb7e09896d5@202.177.16.121> <2pehw6alhc.fsf@shell.xmission.com>

Show all headers | View raw


Jim Janney wrote:
> Wanja Gayk writes:
>> newsgrou...@virtualinfinity.net says...
>>
>>> I find specific use-cases call for different approaches.  For instance, 
>>> I like the following for string concatenation:
>>> 
>>> final StringBuilder builder = new StringBuilder();
>>> 
>>> String sep = "";
>>> 
>>> for (Object o: objects) {
>>>     builder.append(sep).append(o);
>>>     sep = ", ";
>>> }
>>
>> I always preferred to do it this way:
>>
>> final StringBuilder builder = new StringBuilder();
>> final String sep = ", ";
>> for (final Object o: objects) {
>>     builder.append(o).append(sep);
>> }
>> builder.setLength(Math.max(0,builder.length()-sep.length()));
>>
>> The only drawback is that the size of the builder's internal buffer may 
>> grow unnecessarily, if the last separator crosses its current bounds, 
>> but how often does that happen and how often is it really a problem?
> 
> import org.apache.commons.lang.StringUtils;
> 
> ...
> 
> String joinedObjects = StringUtils.join(objects, ", ");
> 
> Not to go all Lew on you here,

You flatter me, sir.

> but the Apache Commons stuff is worth a second look.

... and a third, and a fourth, ...

That said, there are things in Commons that I would not, or not any longer, use, necessarily.  You don't want to use a hammer to unscrew a rivet.  But it is good to have a hammer in your toolkit when you need to pound in a nail.

-- 
Lew

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

for :each style question Roedy Green <see_website@mindprod.com.invalid> - 2011-11-30 15:32 -0800
  Re: for :each style question Arne Vajhøj <arne@vajhoej.dk> - 2011-11-30 19:28 -0500
    Re: for :each style question Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2011-12-05 14:28 -0600
  Re: for :each style question Knute Johnson <nospam@knutejohnson.com> - 2011-11-30 16:49 -0800
    Re: for :each style question Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-11-30 18:23 -0800
      Re: for :each style question Wanja Gayk <brixomatic@yahoo.com> - 2011-12-10 13:28 +0100
        Re: for :each style question Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-12 12:07 -0800
          Re: for :each style question Roedy Green <see_website@mindprod.com.invalid> - 2011-12-13 08:08 -0800
            Re: for :each style question Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-13 12:07 -0800
          Re: for :each style question Wanja Gayk <brixomatic@yahoo.com> - 2011-12-17 16:20 +0100
        Re: for :each style question Jim Janney <jjanney@shell.xmission.com> - 2011-12-14 14:31 -0700
          Re: for :each style question Lew <lewbloch@gmail.com> - 2011-12-14 16:53 -0800
            Re: for :each style question Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-12-15 16:16 -0800
          Re: for :each style question Wanja Gayk <brixomatic@yahoo.com> - 2011-12-17 12:31 +0100
  Re: for :each style question Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-11-30 21:35 -0500
  Re: for :each style question Lew <lewbloch@gmail.com> - 2011-11-30 19:12 -0800
  Re: for :each style question Robert Klemme <shortcutter@googlemail.com> - 2011-12-01 23:36 +0100
  Re: for :each style question Steven Simpson <ss@domain.invalid> - 2011-12-04 19:43 +0000

csiph-web