public String(char[] data,int start,int length){
  if (start >= 0 && 0 <= length && length <= data.length - start) {
    offset=0;
    value=new char[length];
    count=length;
    System.arraycopy(data,start,value,0,count);
  }
 else {
    throw new StringIndexOutOfBoundsException();
  }
}

public String ( char [ ] data , int start , int length ) { if ( start >= 0 && 0 <= length && length <= data . length - start ) { offset = 0 ; value = new char [ length ] ; count = length ; System . arraycopy ( data , start , value , 0 , count ) ; } else { throw new StringIndexOutOfBoundsException ( ) ; } }
initializes this string to contain the specified characters in the character array . modifying the character array after creating the string has no effect on the string .
