Java String的比较字符串大小

Java中的String实现了Comparable<String>,String里面有个私有的成员变量

/** The value is used for character storage. */
private final char value[];

public int compareTo(String anotherString) {
     int len1 = value.length;
     int len2 = anotherString.value.length;
     //比较两个字符串的长度大小
     int lim = Math.min(len1, len2);
     char v1[] = value;
     char v2[] = anotherString.value;

     int k = 0;
     //确定循环条件 以长度小的那个串作为标准遍历
     while (k < lim) {
         //依次取两个的字符进行比较,相等则进入下一次循环,不相等则比较大小并返回
         char c1 = v1[k];
         char c2 = v2[k];
         if (c1 != c2) {
             return c1 - c2;
         }
         k++;
      }
      //长度较小的字符串遍历完了,则比较两个字符串的长度。两个字符串长度相等则返回0,要比较的目标串长则返回负数,原串长则返回正数。
      return len1 - len2;
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容