当前位置: 首页 > 面试题库 >

compareTo()方法如何比较字符串?

史智志
2023-03-14
问题内容

例如,如果我要比较字符串“ Hello”和“ World”。

怎么知道Hello大于World?

我唯一能想到的是,也许它使用ASCII表作为参考?

谢谢您的帮助!


问题答案:

它按 字典顺序 比较两个字符串。在String
API中
检查此处。

如果两个字符串不同,那么它们要么在某个索引处具有不同的字符(这是两个字符串的有效索引),要么它们的长度不同,或者两者都不同。如果它们在一个或多个索引位置具有不同的字符,则令k为最小索引;那么,在字符串位置k处具有较小值(通过使用<运算符确定)的字符串,按字典顺序在另一个字符串之前。



 类似资料:
  • 问题内容: 我正在学习数组,基本上我有一个可以收集姓氏,名字和分数的数组。 我需要编写一个将姓氏与名字进行比较的方法,以便可以按姓氏开头的字母顺序对列表进行排序,然后,如果两个人的姓氏相同,则将对姓氏进行排序。 我很困惑,因为我书中的所有信息都是在比较数字,而不是对象和字符串。 到目前为止,这是我编写的代码。我知道这是错误的,但至少可以解释我在做什么: 我知道和符号是错误的,但是就像我说的那样,我

  • 本文向大家介绍Java字符串compareTo()方法,包括了Java字符串compareTo()方法的使用技巧和注意事项,需要的朋友参考一下 您可以使用方法或,方法或或==运算符比较字符串。下面的示例演示如何在Java中初始化和比较字符串。 示例 输出结果

  • 首先,考虑这个例子: 我期望什么:因为“123”是一个< code>const char*,我期望这些字符串的地址(就像其中一个答案所说的)被比较。 …因为和将只比较这些字符串的基址。不是字符串本身的内容。 但输出仍然是。好吧,我们实际上不知道如何比较两个prvalue对象的地址(或者至少我不明白会怎么做)。所以让我们将这些字符串声明为变量,看看会发生什么: 输出仍然是 。所以字符串不会衰减吗?或

  • 如果第一个字符串在字典上大于第二个字符串,它应该返回1,如果等于返回0,则返回-1。在某些情况下正确地返回1,-1,0,但对于这个str1和str2,返回结果与所需的输出相反。

  • 问题内容: 我想知道如何在一行中比较多个字符串。我尝试使用|| 但不适用于布尔值或字符串。这是我的代码是什么样的: 对于那些将其标记为重复的对象,我在此处检查了200多个关于堆栈溢出的问题,但没有一个起作用。@Chrylis发布的一个实际上没有帮助。他们只是在问==和.equals()的区别 问题答案: 首先,不要用于字符串。稍后您将了解原因。您想按字符串的内容而不是它们在内存中的位置比较字符串。

  • 问题内容: 我听说散列(即将字符串或对象转换为数字)用于字符串等,因为比较数字比字符串更容易。如果为真,这是什么原因? 问题答案: 不一定是这种情况,但大多数时候可能是这样。 请考虑以下情况: 我想比较字符串“ apples”和“ oranges”。如果我只想确定“ apples” ==“ oranges”,我只需要比较每个字符串的第一个字符:’a’!=’o’=>“ apples”!=“ oran