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 () 将返回 0 for "a".compareToIgnoreCase ("A"); for例子。

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

相关文章:

java - 如何检查两个字符串是否近似相等?

Matlab:在for循环中比较字符串

java - 从 3 个字符串中找出字典顺序最小的字符串

sorting - Redis 排序集中的大小写不可知词典排序

java - Okhttpclient连接池大小困境

java - 从 onvif .wsdl 生成 .java

java - 部分代码未初始化

如果两个字符串共享任何字符,SQL 则返回 TRUE

java - Java 11 中的 CharSequence 接口(interface)添加了方法 `compare` 。 Comparable接口(interface)的 `compareTo`为什么不是?

在维护字典顺序的同时将字符串转换为 int 的算法