首页 > 解决方案 > java:我可以对具有相同长度的字符串类型数进行排序吗

问题描述

有像'20190709','20190929'等字符串。它们的长度相同,都是'数字'。我正在尝试对它们进行排序而不转移到其他类型,我希望结果与 int 排序相同。我们不谈论效率问题。还有其他问题会导致错误的结果吗?

标签: javastringsorting

解决方案


如果要按String数字顺序对 s 列表进行排序,最简单的方法是:

  • Arrays.sort(strings, Comparator.comparingInt(Integer::parseInt));为一个String[]
  • Collections.sort(strings, Comparator.comparingInt(Integer::parseInt));对于一个List<String>

你说“不转移到另一种类型”。上述方法会将 s 隐式转换Stringints,但您仍将保留您的String引用。

大多数排序Strings 的方法将使用字母顺序,这将给出与数字顺序不同的结果。

这些方法也相对有效。


推荐阅读