我知道 compareTo
返回一个字符串与另一个字符串的相关程度的否定或肯定结果,但为什么:
public class Test {
public static void main(String[] args) {
String y = "ab2";
if(y.compareTo("ac3") == -1) {
System.out.println("Test");
}
}
}
为真且
public class Test {
public static void main(String[] args) {
String y = "ab2";
if(y.compareTo("ab3") == -1) {
System.out.println("Test");
}
}
}
也是这样吗?
最佳答案
总承包 Comparable.compareTo(o)
是返回
- 如果它大于另一个对象,则为正整数。
- 如果它低于另一个对象,则为负整数。
- 如果 this 等于另一个对象则为 0。
在你的例子中 "ab2".compareTo("ac3") == -1
和 "ab2".compareTo("ab3") == -1
仅表示 "ab2"
低于"ac3"
和 "ab3"
.您无法就 "ac3"
得出任何结论和 "ab3"
只有这些例子。
此结果自 b
以来是预期的在 c
之前在字母表中(所以 "ab2" < "ac3"
)和 2
在 3
之前(所以 "ab2" < "ab3"
):Java 对字符串 lexicographically 进行排序.
关于java - compareTo 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443402/