mirror of https://github.com/halo-dev/halo
ba49dcab35
#### What type of PR is this? /kind improvement /area core /milestone 2.19.x #### What this PR does / why we need it: 重构 KeyComparator 并通过更多的测试用例来确保排序功能的正确性 同时修复了可能存在溢出导致比较结果不正确的问题,目前: 1. 字符串长度比较:在 compareStrings 方法中,字符串的长度比较使用 Integer.compare,这部分代码不会产生整数溢出问题。 2. 数字部分的比较:在 compareNumbers 方法中,数字的比较是基于字符比较的(即逐位比较每个数字字符),没有涉及到将数3. 字字符串转化为 int 或 long 类型的操作,所以不会存在整数溢出问题。 4. 处理小数部分的比较:在 compareDecimalNumbers 方法中,类似地,比较操作也是基于字符的,不涉及到数值转换,因此也不存在整数溢出问题 #### Which issue(s) this PR fixes: Fixes #6466 #### Does this PR introduce a user-facing change? ```release-note 修复由于索引比较时可能出现整数溢出导致文章偶尔无法访问的问题 ``` |
||
---|---|---|
.. | ||
src | ||
build.gradle |