Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » J2EE Interest »

Re: new String

Jacky Cheung

2005-10-17

Replies:

I think the first one creates only 1 "test" string object because the
compiler will generate code so that all s[i] will point to the same
string object. For the second one, you created 10000001 string objects.

I don't have any documentation on hand to prove this but I read
something about this in my preparation of my Java Developer exam
sometime ago.

Best regards,
Jacky

Mark Galbreath wrote:

> This is not true. Since strings are immutable, a new string instances
> will be created no matter what method is used. The two are equivalent.
>
> Cheers,
> Mark
>
>
> Frans Verhoef wrote:
>
>> Hi,
>> String s1 = "test" is definitely preferred, as the other version
>> creates two objects containing "test". Also, when you assign many
>> times "test" to a string object, than only one string is created in
>> memory, while if you use new String("test"), a new string is created
>> every single time.
>>
>> For example:
>>
>> String[] s = new String[1000000];
>> for (int i=0; i<1000000; i++) s[i] ="test"; // uses hardly any memory
>>
>> for (int i=0; i<1000000; i++) s[i] = new String("test"); // uses lots
>> of memory, as each time a new string is created
>>
>> Cheers,
>> Frans
>>
>> On Sun, 16 Oct 2005 16:00:49 +0530, KR Kumar wrote:
>>
>>
>>> Hi,
>>>
>>> Plz let me know which one is better in terms of performace between
>>> the two of the following approaches for string initialization
>>>
>>> String s1 = new String(?test?)
>>>
>>> Or
>>>
>>> String s1 = ?test?
>>>
>>> Kumar
>>> ======================================================================
>>> ===== To unsubscribe, send email to listserv@(protected)
>>> include in the body of the message "signoff J2EE-INTEREST". For
>>> general help, send email to listserv@(protected)
>>> the body of the message "help".
>>>
>>>
>>
>> ===========================================================================
>>
>> To unsubscribe, send email to listserv@(protected)
>> the body
>> of the message "signoff J2EE-INTEREST". For general help, send email to
>> listserv@(protected)".
>>
>>
>>
>>
>
> ===========================================================================
>
> To unsubscribe, send email to listserv@(protected)
> body
> of the message "signoff J2EE-INTEREST". For general help, send email to
> listserv@(protected)".

===========================================================================
To unsubscribe, send email to listserv@(protected)
of the message "signoff J2EE-INTEREST". For general help, send email to
listserv@(protected)".
©2008 junlu.com - Jax Systems, LLC, U.S.A.