为了账号安全,请及时绑定邮箱和手机立即绑定

Java中的字符串比较

Java中的字符串比较

慕盖茨4494581 2019-10-25 15:32:03
“按字典顺序比较两个字符串”是什么意思?
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

从@Bozho和@aioobe的答案出发,字典比较类似于在词典中可能会发现的顺序。

Java String类提供了该.compareTo ()方法以便按字典顺序比较String。这样使用"apple".compareTo ("banana")

此方法的返回int值可以解释如下:

  • 返回<0,则调用该方法的String按字典顺序排在首位(在字典中排在首位)

  • 返回== 0,则这两个字符串在字典上等效

  • 返回> 0,然后按compareTo字典顺序首先传递给该方法的参数。

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

因此"computer".compareTo ("comparison")将返回值(int) 'u' - (int) 'a'(20)。由于这是肯定的结果,因此参数("comparison")首先在字典上。

还有一个变种.compareToIgnoreCase (),它将返回0用于"a".compareToIgnoreCase ("A");例如。


查看完整回答
反对 回复 2019-10-25
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

“比较”一词有轻微的误导性。您不是要比较严格的相等性,而是要比较字典中哪个字符串最先出现(词典)。

这是允许对字符串集合进行排序的功能。

请注意,这非常取决于活动的语言环境。举例来说,这里在丹麦我们有一个字符“A” 使用被拼写为“AA”,并从两个单一个的非常明显的(编辑:如果发音为!“A”)。因此,丹麦的排序规则将两个结果a等同于“å”,这意味着它在z之后。这也意味着丹麦字典的排序方式与英语或瑞典语字典不同。


查看完整回答
反对 回复 2019-10-25
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

如果您检查哪个字符串在词典中排在最前面,那么您已经对字符串进行了词典比较!


如果按字典顺序,字符串s在字符串t之前


s是t的前缀,或者

如果c和d分别是s和t的第一个字符,其中s和t不同,则c按字符顺序在d之前。

注意:对于字母字符,字符顺序与字母顺序一致。数字在字母之前,大写字母在小写字母之前。


例:


房子先于家庭

家庭先于房子

作曲家先于计算机

H2O先于HOTEL


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 555 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信