Мне нужна функция сравнения строк, которая сохраняет естественный порядок сортировки 1. Есть ли что-то подобное в Java? Я не могу найти ничего в String class, а Класс компаратора знает только о двух реализациях.
Я могу опрокинуть свои собственные (это не очень сложная проблема), но я бы предпочел не изобретать колесо, если мне это не нужно.
В моем конкретном случае у меня есть строки версии программного обеспечения, которые я хочу сортировать. Поэтому я хочу, чтобы "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"