java - Java 中的字符串比较

标签 java string-comparison lexicographic lexicographic-ordering

“按字典顺序比较两个字符串”是什么意思?

最佳答案

根据 @Bozho 和 @aioobe 的回答,词典比较类似于人们在字典中可能找到的顺序。

Java String 类提供了 .compareTo () 方法以便按字典顺序比较字符串。它的用法如下 "apple".compareTo ("banana").

该方法的返回值是一个int,可以解释如下:

  • 返回< 0,则调用该方法的字符串按字典顺序排在第一位(在字典中排在第一位)
  • 返回 == 0 则两个字符串按字典顺序相等
  • 返回 > 0,则传递给 compareTo 方法的参数按字典顺序排列在前面。

更具体地说,该方法提供了 ASCII 值中的第一个非零差异。

因此 "computer".compareTo ("comparison") 将返回值 (int) 'u' - (int) 'a' (20)。由于这是一个肯定的结果,因此参数(“comparison”)按字典顺序排在第一位。

还有一个变体 .compareToIgnoreCase (),例如,对于 "a".compareToIgnoreCase ("A");,它会返回 0

关于java - Java 中的字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361463/

相关文章:

java - 对于一个测试用例,按字典顺序比较字符串的新方法失败

java - 在 Java 中,在哪里保存正在扩展为另一个类的类?

Java Reflection - 如何在动态加载类时排除接口(interface)

java - "this"无法识别 - Java JTable

Javascript 将数字作为字符串进行比较

php - 为什么 PHP 在[宽松地]比较两个数字字符串之前将它们转换为数字?

Java 比较忽略大小写

java - 解释参数的方法

c - 搜索二叉树C,字典顺序,下一个排列,递归

javascript - 如何在 jQuery 中使用 "ctrl+click"打开新选项卡而不是重定向当前选项卡?