我有以下格式的字符串列表
["BlahBlahBlahBlah 0.9877"]
["ABCabcABCabcAbc 1.7852"]
如您所见,两者之间是一个空格。由于某些限制,我无法更改设计。
我需要做的是根据最后的双数对列表进行排序。谁能帮我实现这段代码?
这不是一个单独的空间,但无论如何......
Collections.sort(yourList, new Comparator<String>() {
public int compare(String s1, String s2) {
double d1 = Double.valueOf(s1.substring(s1.lastIndexOf(' ') + 1));
double d2 = Double.valueOf(s2.substring(s2.lastIndexOf(' ') + 1));
return Double.compare(d1, d2);
}
});
(如果还没有,请导入 java.util.Collections 和 java.util.Comparator。)
如果您知道数字始终是 X.XXXX 格式(五位和一个小数),您可以执行类似 '
String asString = yourString.substring(yourString.length-9,yourString.length-3);
Double asDouble = Double.parseDouble(number);