public int compareTo(java.lang.String anotherString){
  if (anotherString == this) {
    return 0;
  }
  int minL=Math.min(anotherString.length(),length());
  for (int iter=0; iter < minL; iter++) {
    char a=value[offset + iter];
    char b=anotherString.value[anotherString.offset + iter];
    if (a != b) {
      return a - b;
    }
  }
  return length() - anotherString.length();
}

public int compareTo ( java . lang . String anotherString ) { if ( anotherString == this ) { return 0 ; } int minL = Math . min ( anotherString . length ( ) , length ( ) ) ; for ( int iter = 0 ; iter < minL ; iter ++ ) { char a = value [ offset + iter ] ; char b = anotherString . value [ anotherString . offset + iter ] ; if ( a != b ) { return a - b ; } } return length ( ) - anotherString . length ( ) ; }
compares two strings lexicographically . the comparison is based on the unicode value of each character in the strings . the character sequence represented by this string object is compared lexicographically to the character sequence represented by the argument string . the result is a negative integer if this string object lexicographically precedes the argument string . the result is a positive integer if this string object lexicographically follows the argument string . the result is zero if the strings are equal ; compareto returns 0 exactly when the method would return true . this is the definition of lexicographic ordering . if two strings are different , then either they have different characters at some index that is a valid index for both strings , or their lengths are different , or both . if they have different characters at one or more index positions , let k be the smallest such index ; then the string whose character at position k has the smaller value , as determined by using the < operator , lexicographically precedes the other string . in this case , compareto returns the difference of the two character values at position k in the two string - - that is , the value : this . charat ( k ) - anotherstring . charat ( k ) if there is no index position at which they differ , then the shorter string lexicographically precedes the longer string . in this case , compareto returns the difference of the lengths of the strings - - that is , the value : this . length ( ) - anotherstring . length ( )
