我想要某种保留自然排序顺序1的字符串比较功能。Java内置了类似的东西吗?我在String类中找不到任何内容,而Comparator类仅知道两种实现。
我可以自己动手(这不是一个很难的问题),但我宁愿不要重新发明轮子。
在我的特定情况下,我有要排序的软件版本字符串。 因此,我希望将“ 1.2.10.5”视为大于“ 1.2.9.1”。
1 “自然”排序顺序是指它以人类比较字符串的方式进行比较,而不是仅对程序员有意义的“ ascii-betical”排序顺序。换句话说,“ image9.jpg”小于“ image10.jpg”,“ album1set2page9photo1.jpg”小于“ album1set2page10photo5.jpg”,“ 1.2.9.1”小于“ 1.2.10.5”
在Java中,“自然”顺序的意思是“字典顺序”,因此在核心中没有像您所需要的那样的实现。
有开源的实现。
这是一个:
NaturalOrderComparator.java
确保阅读以下内容:
Cougaar开源许可证
我希望这有帮助!