美文网首页
spring类的compareTo()方法源码学习

spring类的compareTo()方法源码学习

作者: Mrmcling | 来源:发表于2020-07-27 22:06 被阅读0次

    java中的compareto方法,返回参与比较的前后两个字符串的asc码的差值

        public int compareTo(String anotherString) {
    
            // 1.获取需要比较的两个字符串的长度
            int len1 = value.length;
            int len2 = anotherString.value.length;
    
            // 2.取两个字符串长度的最小值
            int lim = Math.min(len1, len2);
    
            // 3.获取两个字符串的值(String底层使用char类型的数组保存内容)
            char v1[] = value;
            char v2[] = anotherString.value;
    
            int k = 0;
            // 4.从第一位字符开始,依次比较两个字符串的每个字符的asc码
            while (k < lim) {
                char c1 = v1[k];
                char c2 = v2[k];
    
                // 5.如果asc码不相同,则返回两个asc码的差值
                if (c1 != c2) {
                    return c1 - c2;
                }
                k++;
            }
            
            // 6.如果两个字符串的asc码比到最后,依然相同,则返回两个字符串长度的差值
            return len1 - len2;
        }
    
    

    阅读心得:
    1.可以用来判断两个字符串内容是否相同
    2.返回的数值大小并没有特别的价值,返回值的符号才有价值。
    3.返回值为正数:c1在字典里的顺序在c2之前(如a在b之前;ab在abc和acb之前)
    4.返回值为负数:c2在字典里的顺序在c1之前
    5.返回值为0:c1与c2的字符串内容相同

    相关文章

      网友评论

          本文标题:spring类的compareTo()方法源码学习

          本文链接:https://www.haomeiwen.com/subject/hfitrktx.html