一尘不染

Java中自然排序顺序字符串比较-是内置的吗?

algorithm

我想要某种保留自然排序顺序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”


阅读 286

收藏
2020-07-28

共1个答案

一尘不染

在Java中,“自然”顺序的意思是“字典顺序”,因此在核心中没有像您所需要的那样的实现。

有开源的实现。

这是一个:

NaturalOrderComparator.java

确保阅读以下内容:

Cougaar开源许可证

我希望这有帮助!

2020-07-28