我想知道compareTo方法是仅查看字符串的长度还是查看字符串的每个字符?
如果它只是查看长度,我将如何比较字符串数组中的两个元素,以查看哪个元素更大。
我想要做的是编写一个递归查看数组右侧,中间和左侧的方法,并返回数组中最长字符串的索引。
我的工作正常,唯一的问题是当有两个相同长度的字符串时,它会返回第一个字符串。
简单说明compareTo方法如何查看字符串将有助于我解决这个问题我认为
数字串如何在词汇上进行比较? 17会大于15吗?
答案 0 :(得分:0)
compareTo
按字典顺序完成。 (或按字母顺序)它不比较字符串的长度。
A小于B.
如果要比较字符串的长度,可以从.length()
方法获取长度,并将其作为整数进行比较。
编辑:
按字典顺序由ASCII / UNICODE值完成。
因此,在您的示例中,17
大于15
。因为1
是相同的(平局),7
的ASCII / UNICODE值高于5
。
答案 1 :(得分:0)
compareTo
将比较字符串的字母顺序(词典编纂)顺序。
答案 2 :(得分:0)
我想知道compareTo方法是仅查看字符串的长度还是查看字符串的每个字符?
它(可能)查看字符串中的每个字符。它当然不只是看长度。
如果它只是查看长度,我将如何比较字符串数组中的两个元素,以查看哪个元素更大。
没有,所以这个问题没有实际意义。
我想要做的是编写一个递归查看数组右侧,中间和左侧的方法,并返回数组中最长字符串的索引。
我的工作正常,唯一的问题是当有两个相同长度的字符串时,它会返回第一个字符串。
我们需要查看您的代码以了解实际出现的问题,但很可能不是由于{{1 }}
数字串如何在词汇上进行比较? 17会大于15吗?
是的,它会按字典顺序比较字符串。是的“17”会比“15”大。 (但如果你用字母数字比较字符串,“17”将大于“15”。另一方面,“7”在字典上大于“13”但在数值上小于它。)
也许你需要阅读“词典顺序”的含义;维基百科summarizes it为:
“在数学中,词典或词典顺序(也称为词汇顺序,字典顺序,字母顺序或词典(al)产品)是对字母的字母顺序基于的方式的概括字母的字母顺序。“