新手求助 求帮忙 小问题

System.out.print(list5[num]);//1
System.out.print(list5[num].compareTo("论文答辩"));//2

1显示的值是论文答辩 这样为何2显示的值为0?

ava

4个回答

相等,返回的就是零
不相等时,按比较的结果返回一个正数或负数

pxwen
pxwen 谢谢 弄好了
5 年多之前 回复

可以查看一下compareTo的API就知道答案了,相等的时候返回0,大于的时候返回1,小于的时候返回-1。

pxwen
pxwen 谢谢,已搞定
5 年多之前 回复

看一下String的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;
    }
pxwen
pxwen 谢谢,已搞定
5 年多之前 回复

相等和不相等的问题
可以用帮助文档查询

pxwen
pxwen 谢谢,已搞定
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问