不知道你說的實現是怎么個實現?如果只是調用的話 str.subString(begin,end)就可以了,如果是java的底層實現的話,下面是來自java.lang.String的代碼:
| public String substring( int beginIndex, int endIndex) { if (beginIndex < 0 ) { throw new StringIndexOutOfBoundsException(beginIndex); } if (endIndex > count) { throw new StringIndexOutOfBoundsException(endIndex); } if (beginIndex > endIndex) { throw new StringIndexOutOfBoundsException(endIndex - beginIndex); } return ((beginIndex == 0 ) && (endIndex == count)) ? this : new String(offset + beginIndex, endIndex - beginIndex, value); } |
然后調用String的一個私有構造器:
| // Package private constructor which shares value array for speed. String( int offset, int count, char value[]) { this .value = value; this .offset = offset; this .count = count; } |