public final CharSlice substring ( int start , int end ) { if ( start < 0 || end > len || end < - len ) { throw new IllegalArgumentException ( String . format ( "[%d,%d] of slice length %d is not valid." , start , end , len ) ) ; } int l = end < 0 ? ( len - start ) + end : end - start ; if ( l < 0 || l > ( len - start ) ) { throw new IllegalArgumentException ( String . format ( "[%d,%d] of slice length %d is not valid." , start , end , len ) ) ; } return new CharSlice ( fb , off + start , l ) ; }
Create a substring slice based on the current slice .