Java 17的Comparator.naturalOrder()排序不符合Natural Sorting,是Bug吗?
Java自然排序与直觉预期差异的性质判定问题
问题背景
- 待排序字符串列表:
item01mark2, item10mark2, item10mark03, item1mark3 - 直觉预期排序结果:
item01mark2, item1mark3, item10mark2, item10mark03 - Java 17
Comparator.naturalOrder()排序结果:item01mark2, item10mark03, item10mark2, item1mark3 - 第三方库对比:Python的natsort等自然排序库输出符合直觉预期
疑问
该情况属于值得上报的Bug,还是因「Natural Sorting」的定义模糊导致?
更新结论
经确认,此为术语歧义问题——误将Java的「natural ordering」当作了Natural Sorting的实现,问题已解决。
内容的提问来源于stack exchange,提问作者Siebe
相关产品推荐
相关产品推荐

