基于上文:
public String substring(int beginIndex, int endIndex) { int length = length(); checkBoundsBeginEnd(beginIndex, endIndex, length); int subLen = endIndex - beginIndex; if (beginIndex == 0 && endIndex == length) { return this; } return isLatin1() ? StringLatin1.newString(value, beginIndex, subLen) : StringUTF16.newString(value, beginIndex, subLen); }
substring(int beginIndex, int endIndex) 与 substring(int beginIndex)
不同在于 subLen 的赋值; 得出结论:subString(a,b)返回值是 str的索引位置a,到索引位置b(包括a,不包括b)