gpt4 book ai didi

java - 如何手动按字典顺序比较 "abcd"& ""abcde"有效

转载 作者:行者123 更新时间:2023-11-29 04:43:17 25 4
gpt4 key购买 nike

我想写我自己的 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 语句 - 你对如何改进这段代码有什么建议吗?

最佳答案

这取决于你想自己写多少。你可以使用

return a.length() - b.length(); // as length is non-negative

return Integer.compareTo(a.length(), b.length());

在你的第一个循环中你也可以写

for (int i = 0; i < a.length() && i < b.length(); i++) {
int diff = a.charAt(i) - b.charAt(i);
if (diff != 0)
return diff;
}

关于java - 如何手动按字典顺序比较 "abcd"& ""abcde"有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38322857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com