new StringBuilder(char)
Mike Duigou
mike.duigou at oracle.com
Mon Aug 18 19:00:43 UTC 2014
On Aug 16 2014, at 16:24 , Ulf Zibis <Ulf.Zibis at cosoco.de> wrote:
> Additionally nice to have:
> (initial capacity with initial char(s))
> StringBuilder(int,char)
This one is unlikely.
> StringBuilder(int,CharSequence)
I don't see much advantage to this API. If it enabled a significant optimization then it might be worth considering but I am inclined to doubt it's value.
Mike
>
> -Ulf
>
>
> Am 08.08.2014 um 22:53 schrieb Eddie Aftandilian:
>> Hi all,
>>
>> We recently realized that calling new StringBuilder(char) does not do what
>> you would think it does. Since there is no char constructor defined, the
>> char is widened to an int and the StringBuffer is presized to the
>> character's encoded value. Thus code like this prints an empty string
>> rather than the expected "a":
>> System.out.println(new StringBuilder('a'));
>>
>> Would it be possible to add a char constructor to StringBuilder to prevent
>> this problem? I understand this would change the behavior of any code that
>> is currently doing this, but it's hard to imagine anyone doing this
>> intentionally. Of the ~20 instances we found in Google's codebase, all
>> were bugs. What is your policy on making changes like this where (a) it
>> will cause a change in behavior, but (b) the currently behavior is clearly
>> wrong?
>>
>> If you're willing to take the change, I'd be happy to send a patch.
>>
>> Thanks,
>> Eddie
>>
>
More information about the core-libs-dev
mailing list