【发布时间】:2017-05-19 14:52:15
【问题描述】:
我有一个包含数字的字符串列表:
例子:
String 1.0.2
String 2.1.2
String 10.0.1
String 3.0.1
String 2.3.1
String 10.2.1
我需要对这个列表进行排序并得到这个:
String 1.0.2
String 2.1.2
String 2.3.1
String 3.0.1
String 10.0.1
String 10.2.1
但是如果我使用 java 函数 Collections.sort 我得到这个:
String 1.0.2
String 10.0.1
String 10.2.1
String 2.1.2
String 2.3.1
String 3.0.1
编辑:
我试过这个比较器:
public int compare(String o1, String o2) {
int a = Integer.parseInt(o1.split(" ")[1].replace(".", ""));
int b = Integer.parseInt(o2.split(" ")[1].replace(".", ""));
return a-b;
}
当我运行应用程序时,我收到此错误java.lang.NumberFormatException: For input string: "Unknown" 我如何检查是否有不包含数字的字符串以便我可以测试这个比较器?
【问题讨论】:
-
这篇文章应该适合你:stackoverflow.com/questions/7348223/…
-
你的意思是“String 1.0.2”还是“1.0.2”???
-
@ΦXocę웃Пepeúpaツ 我的意思是“字符串 1.0.2”
标签: java