Hi Ulf,

please see my comments inline.

On 3/20/13 18:09, Ulf Zibis wrote:
Hi Martin,

nice to see you again on board.

Am 19.03.2013 20:18, schrieb Martin Buchholz:
Thanks!  Webrev updated.

Character:
Maybe I'm blind, is there any semantical difference between
        char c1 = seq.charAt(index++);
        if (isHighSurrogate(c1)) {
            if (index < seq.length()) {
and
        char c1 = seq.charAt(index);
        if (isHighSurrogate(c1) && ++index < seq.length()) {
, or is it just for beautifying the code?
The only real difference i see is that in case of isHighSurrogate(c1) == false we saving one increment instruction.
May be a real deal for performance junkie :)

AbstractStringBuilder:
Instead
 270     public int codePointBefore(int index) {
 271         int i = index - 1;
 272         if ((i < 0) || (i >= count)) {
 273             throw new StringIndexOutOfBoundsException(index);
 274         }
I suggest
 270     public int codePointBefore(int index) {
 271         if ((--index < 0) || (index >= count)) {
 272             throw new StringIndexOutOfBoundsException(index);
 273         }
, because if e.g. the initial value of index is 0, then -1 reflects the out-of-bound condition, but not the initial 0 to report in the StringIndexOutOfBoundsException.
OTOH in case of upper index out of bounds with your code we will report exception reporting number laying within the allowed range which may be confusing.

Just my $.02

With best regards,
Alex

Reply via email to