public String substring(int beginIndex, int endIndex) {
if (beginIndex < 0) {
throw new StringIndexOutOfBoundsException(beginIndex);
}
if (endIndex > value.length) {
throw new StringIndexOutOfBoundsException(endIndex);
}
int subLen = endIndex - beginIndex;
if (subLen < 0) {
throw new StringIndexOutOfBoundsException(subLen);
}
return ((beginIndex == 0) && (endIndex == value.length)) ? this
: new String(value, beginIndex, subLen);
}
1、beginIndex大于0;
2、endIndex不可以大于数组的字符串的长度;
3、endIndex >= beginIndex && endIndex <= str.length()
否则,角标越界异常:StringIndexOutOfBoundsException
4、返回字符串的时候,包括beginIndex位置的元素,但不包括endIndex位置的元素