【发布时间】:2014-05-19 16:37:28
【问题描述】:
作为compareTo() 方法进行的字符串比较的概括:
对于两个给定的字母:
- 两个字母匹配值,结果值为0。
- 如果给定字母在另一个给定字母之前出现,则两者的比较值为负。
- 如果给定字母的位置在另一个字母之后,则两者的比较值为正。
可以这样认为:
在26个英文字母的顺序中,“A”可以被认为是索引1,“B”是索引2:
因此,A = 1; B = 2。
A - B = -1。
要达到 A 的值,B 必须减 1,或者 B - 1 = 1 = A。
例如:
int result;
String letterA = "a";
String letterB = "b";
result = letterA.compareTo(letterB);
System.out.println("The difference between the letter \"a\" and the letter \"b\" will be equivalent to: " + result);
考虑字符串时:
其字符串字符索引沿其各自字符串的前两个字符的字母索引的差异将是String.compareTo(String)方法返回的值(其中“String”表示一个广义字符串值)。
例如:
int result;
String stringBA = "ba";
String stringBD = "bd";
result = stringBA.compareTo(stringBD);
System.out.println("The difference between string \"ba\" and string \"bd\" will be equivalent to: " + result);
比较将评估为 -3,因为在方法中最终比较的字母之间的差异是字符“a”和“d”,它们的字母索引分别为 1 和 4。
可以这样说:要达到A的值,D必须减3,或者D - 3 = A。
这可以被认为是准确的吗?
【问题讨论】:
-
有人知道如何提交 wiki 帖子吗?当我尝试时,我无法发布这个。我觉得这真的可以帮助新用户理解
compareTo(String)方法。