今天被人问到compareTo是以什么方式排序的,有点懵逼,平常也不注意,然后翻了下源码,发现就是以最小字符串长度做循环次数,循环匹配俩个字符串转换的Unicode,看在字典的位置,返回数字,如果为负数,那么就是第一个字符串排前,因为小的排前嘛,如果循环匹配Unicode编码没有结果,那么就会以长度做判断,第一个字符串比第二个字符串短那就第一个字符串排前
String.compareTo排序解析
最新推荐文章于 2025-06-05 09:43:17 发布
今天被人问到compareTo是以什么方式排序的,有点懵逼,平常也不注意,然后翻了下源码,发现就是以最小字符串长度做循环次数,循环匹配俩个字符串转换的Unicode,看在字典的位置,返回数字,如果为负数,那么就是第一个字符串排前,因为小的排前嘛,如果循环匹配Unicode编码没有结果,那么就会以长度做判断,第一个字符串比第二个字符串短那就第一个字符串排前