xiao_kun_
「已注销」
采纳率36.4%
2019-09-17 09:10 阅读 1.3k
已采纳

java基础 字符串compareTo()大小比较

图片说明图片说明
为什么是32 而不是64 呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    wojiushiwo945you 毕小宝 2019-09-17 09:30

    首先,看看 compareTo 源码:

    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++;
            }
            return len1 - len2;
        }
    

    其次,看看 a A 的数值:
    图片说明

    点赞 3 评论 复制链接分享
  • u014525726 会飞的鱼1993 2019-09-17 09:12

    ASCII 码表中,十进制A为65,a为 97,ASCII相减为32

    点赞 1 评论 复制链接分享

相关推荐