Thank you Roger for the comments!

On 08.12.2016 1:28, Roger Riggs wrote:
Hi Ivan,

A few comments...

Appendable.appendN default method:
I'd expect many time n is small so allocating a new StringBuilder every time seems not optimal. A simple loop with append(c) would have fewer (memory) side effects.
   And in particular for n=0, it could avoid doing anything.

The rationale here was to implement `all or nothing` approach.
If we add chars one by one in a loop and hit OOM, then the Appendable would be partially modified, which is not good.
A special case for the size of zero can be added, of course.

AbstractStringBuilder:
I agree with Claes' comment suggesting that IAE for negative lengths is a pain
   and defining it to append 0 would be natural in many use cases.

I see that most votes are for throwing the exception if n is negative.
Let's leave it this way!

MethodHandleImpl.toString():
You could beneficially replace StringBuffer with StringBuilder while you are there.
   (and maybe pre-size the builder).

Sure, let's use StringBuilder.
I wasn't sure how to easily calculate the required capacity of the builder here though.

Please find the updated webrev here:
http://cr.openjdk.java.net/~igerasim/8170348/01/webrev/

With kind regards,
Ivan

Reply via email to