By amazing coincidence a review for fixing this was issued last week:

http://mail.openjdk.java.net/pipermail/core-libs-dev/2012-November/012266.html

Additional review would be welcome. :-)

The patch will probably be ready for push before the end of the month.

Mike

On Nov 19 2012, at 07:46 , Martin Desruisseaux wrote:

> Hello all
> 
> I noticed that AbstractStringBuilder.indexOf(String, int) is implemented as 
> below:
> 
>    public int indexOf(String str, int fromIndex) {
>        return String.indexOf(value, 0, count,
>                              str.toCharArray(), 0, str.length(), fromIndex);
>    }
> 
> The call to str.toCharArray() creates a copy of the String.value char[] 
> array. This copy doesn't seem necessary since the above String.indexOf(...) 
> method doesn't modify the array content. Shouldn't AbstractStringBuilder 
> passes directly the reference to the String internal array instead, maybe 
> using package-privated access to the array?
> 
> Admittedly the cloned array is usually small, but the call to indexOf(String, 
> int) is often done in a loop.
> 
>    Martin
> 

Reply via email to