@Override public int compare(final CharSequence s1, final CharSequence s2) { final CharBuffer b1 = wrap(s1); final CharBuffer b2 = wrap(s2); while (b1.hasRemaining() && b2.hasRemaining()) { moveWindow(b1); moveWindow(b2); final int result = compare(b1, b2); if (result != 0) { return result; } prepareForNextIteration(b1); prepareForNextIteration(b2); } return s1.length() - s2.length(); }
@Override public int compare(final CharSequence s1, final CharSequence s2) { final CharBuffer b1 = wrap(s1); final CharBuffer b2 = wrap(s2); while (b1.hasRemaining() && b2.hasRemaining()) { moveWindow(b1); moveWindow(b2); final int result = compare(b1, b2); if (result != 0) { return result; } prepareForNextIteration(b1); prepareForNextIteration(b2); } return s1.length() - s2.length(); }