【发布时间】:2016-07-12 07:46:25
【问题描述】:
我想写自己的 compareTo 方法,所以我写了这个简单的代码:
public int myCompare(String a, String b) {
int min = Math.min(a.length(), b.length());
for (int i=0; i < min; i++) {
int diff = a.charAt(i) - b.charAt(i);
if (diff == 0) {
continue;
} else {
return diff;
}
}
// meaning both strings are equals so far
if (a.length() == b.length()) {
return 0;
} else if (a.length() > b.length()) {
return -1;
} else {
return 1;
}
}
好吧,这段代码运行良好,但我讨厌最后一个 if/else 声明——你有什么建议可以改进这段代码吗?
【问题讨论】:
标签: java compareto lexicographic