В java String исходный код, отмечено несколько мест со следующим комментарием:
// Note: offset or count might be near -1>>>1.
Рассмотрим следующий пример:
public String(char value[], int offset, int count) {
if (offset < 0) {
throw new StringIndexOutOfBoundsException(offset);
}
if (count < 0) {
throw new StringIndexOutOfBoundsException(count);
}
// Note: offset or count might be near -1>>>1.
if (offset > value.length - count) {
throw new StringIndexOutOfBoundsException(offset + count);
}
this.offset = 0;
this.count = count;
this.value = Arrays.copyOfRange(value, offset, offset+count);
}
Как мы видим, offset
, value.length
и count
- все int
, поэтому значение может быть либо -1, 0, 1, либо любые другие целые числа. Что означает "рядом" и " → > " в комментарии, я что-то упустил?