System.out.print(list5[num]);//1
System.out.print(list5[num].compareTo("论文答辩"));//2
1显示的值是论文答辩 这样为何2显示的值为0?
相等,返回的就是零
不相等时,按比较的结果返回一个正数或负数
可以查看一下compareTo的API就知道答案了,相等的时候返回0,大于的时候返回1,小于的时候返回-1。
看一下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;
}
相等和不相等的问题
可以用帮助文档查询