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


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

Re: StringBuilder

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail
From Eric Sosman <esosman@ieee-dot-org.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: StringBuilder
Date Sun, 18 Sep 2011 08:15:00 -0400
Organization A noiseless patient Spider
Lines 39
Message-ID <j54nc9$tgk$1@dont-email.me> (permalink)
References <96f358c8-a024-40db-b60b-300186c2f813@o10g2000vby.googlegroups.com> <j41fik$3qb$1@news.albasani.net> <j52jgd$iij$1@dont-email.me> <vp7a77lp3e5oe4h79pnmv95vb4lu13spmc@4ax.com> <GeednbWNqODBGOjTnZ2dnUVZ_rqdnZ2d@posted.palinacquisition>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Sun, 18 Sep 2011 12:15:06 +0000 (UTC)
Injection-Info mx04.eternal-september.org; posting-host="f8igmItKsWs6nM5YanFxAA"; logging-data="30228"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Qb5BQS2p8HOE4gbN6tPd1"
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
In-Reply-To <GeednbWNqODBGOjTnZ2dnUVZ_rqdnZ2d@posted.palinacquisition>
Cancel-Lock sha1:kUOp1xNZOk0guXdWUkj1GsJFb4Q=
Xref x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:8124

Show key headers only | View raw


On 9/18/2011 1:44 AM, Peter Duniho wrote:

     (Amusing aside: Thunderbird's spell-checker wants to change
Peter's last name to "Whodunit.")

> On 9/17/11 3:34 PM, Roedy Green wrote:
>> [...]
>> StringBuilder composes its string in a char[]. Unfortunately it can't
>> simply plop that into a String object at the end. It has to allocate
>> yet another buffer, copy into it, and that becomes your string object.
>> [...]
>
> Are you sure that's the implementation?
>
> In .NET, there is also a String and StringBuilder class pair, and
> StringBuilder.ToString() does in fact just create a new String instance
> using the existing buffer.[...]
>
> In any case, if Java does _not_ implement it that way, I suspect that's
> out of a different decision-making process rather than ignorance. In
> other words, they have already considered whether it's a worthwhile
> optimization and decided otherwise. [...]

     I don't have old Java source, but I do have an old O'Reilly
book ("Java In a Nutshell, 2nd Edition, Covers Java 1.1, by David
Flanagan") that states

	The StringBuffer.toString() method does not copy the internal
	array of characters; instead it shares that array with the
	new String object, and makes a new copy for itself only when
	further modifications are made to the StringBuffer object.

Assuming the author was correct, it follows that the implementation
changed at some later point.  Presumably, that change was driven by
evidence that the "optimization" wasn't worth while.

-- 
Eric Sosman
esosman@ieee-dot-org.invalid

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


Thread

Re: StringBuilder Stanimir Stamenkov <s7an10@netscape.net> - 2011-09-17 19:56 +0300
  Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-17 20:35 +0200
  Re: StringBuilder Roedy Green <see_website@mindprod.com.invalid> - 2011-09-17 15:34 -0700
    Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 01:33 +0200
      Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 01:56 +0200
      Re: StringBuilder Roedy Green <see_website@mindprod.com.invalid> - 2011-09-17 20:58 -0700
    Re: StringBuilder Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-09-17 22:44 -0700
      Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 09:54 +0200
        Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 09:59 +0200
        Re: StringBuilder Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-09-18 07:28 -0700
      Re: StringBuilder Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-09-18 08:15 -0400
        Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 15:32 +0200
          Re: StringBuilder Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-09-18 09:50 -0400
            Re: StringBuilder Stanimir Stamenkov <s7an10@netscape.net> - 2011-09-18 17:08 +0300
            Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 22:13 +0200
              Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 22:29 +0200
                Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 22:39 +0200
      Re: StringBuilder Roedy Green <see_website@mindprod.com.invalid> - 2011-09-19 09:45 -0700

csiph-web