我对 Java compareTo
方法按字典顺序比较
两个字符串有基本的了解。
我在这里阅读了基础知识String Comparison in Java
我有以下示例:
public class CompareTo {
public static void main(String args[]) {
String str1 = "String";
String str2 = "compareTo";
String str3 = "String";
int var1 = str1.compareTo( str2 );
System.out.println("str1 & str2 comparison: "+var1);
int var2 = str1.compareTo( str3 );
System.out.println("str1 & str3 comparison: "+var2);
}
}
我得到var1 = -16
和var2 = 0
。
如果有人一步一步向我解释这个词典比较
,那将会有很大的帮助。
谢谢。
最佳答案
好吧,如果你打印:
System.out.println ('S'-'c');
你得到-16
String
的 compareTo
一次比较两个 String
的一个字符。第一对不相等的字符(在您的情况下为“String”的“S”和“compareTo”的“c”)决定结果。由于按字典顺序“S”位于“c”之前,因此比较返回负值,这意味着“String”应位于“compareTo”之前。
在第二次比较中,所有字符对都相等,因此 compareTo
返回 0。
关于JavacompareTo一步步执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42969114/