question: public String ( char [ ] data , int offset , int charCount ) { if ( ( offset | charCount ) < 0 || charCount > data . length - offset ) { throw failedBoundsCheck ( data . length , offset , charCount ) ; } this . offset = 0 ; this . value = new char [ charCount ] ; this . count = charCount ; System . arraycopy ( data , offset , value , 0 , count ) ; }
target:  Allocates a new String that contains characters from a subarray of the character array argument. The offset argument is the index of the first character of the subarray and the count argument specifies the length of the subarray. The contents of the subarray are copied; subsequent modification of the character array does not affect the newly created string. value - array that is the source of characters.offset - the initial offset.count - the length. - if the offset and count arguments index characters outside the bounds of the value array. - if value is null.