lowasser at google.com
Sat Aug 16 19:17:22 UTC 2014
There are indications this bug has actually occurred in released JDK code
To give credit where credit is due, I reported the potential for this issue
to Eddie after seeing it on StackOverflow at
On Aug 16, 2014 5:39 AM, "Andrew Thompson" <lordpixel at me.com> wrote:
> I've encountered bugs in production code due to this surprise.
> A good thing to fix.
> > On Aug 16, 2014, at 1:38 AM, Jeremy Manson <jeremymanson at google.com>
> > No love from core-libs-dev? It's backwards-incompatible, but in a way
> > would unbreak existing broken code. Might be a worthwhile cleanup.
> > Jeremy
> >> On Fri, Aug 8, 2014 at 1:53 PM, Eddie Aftandilian <eaftan at google.com>
> >> Hi all,
> >> We recently realized that calling new StringBuilder(char) does not do
> >> you would think it does. Since there is no char constructor defined,
> >> 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
> >> this problem? I understand this would change the behavior of any code
> >> 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
> >> 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