gpt4 book ai didi

java - 两个 .compareTo 方法问题?

转载 作者:行者123 更新时间:2023-12-02 04:48:41 25 4
gpt4 key购买 nike

我搜索了Java中使用的字典顺序的完整表格,但没有结果。

我找到了整理模式。但我需要的是包含大小写字母、数字、运算符、空格的排序。

我知道空格是该顺序中的第一个,那么其余的呢?

完成了我的第一个问题,我的第二个问题是:

compareTo 方法返回的数字到底告诉你什么?

例如。两个不同单词的相同索引的两个字母相距多少个字母?

最佳答案

第 1 部分

比较基于字符串中每个字符的 Unicode 值。所以基本上,compareTo() 将每个字符串视为 16 位无符号整数序列。这是Unicode chart这样您就可以看到它们的顺序。

引用号:String.compareTo doc

第 2 部分

本质上,无法得知 compareTo 返回值的大小,只是知道符号。实际上,大多数 compareTo 实现将返回 -1、0 或 1,但契约(Contract)明确规定了正数或负数,您应该相应地编写代码(例如,使用 int Compare = a .compareTo(b); if(compare > 0) {...} else...)

根据String.compareTo doc

In this case, compareTo returns the difference of the two character values at position k >in the two string -- that is, the value:

this.charAt(k)-anotherString.charAt(k)

If there is no index position at which they differ, then the shorter string lexicographically precedes the longer string. In this case, compareTo returns the difference of the lengths of the strings -- that is, the value:

this.length()-anotherString.length()

引用号:String Compareto actual return value

关于java - 两个 .compareTo 方法问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29453319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com