我有以下格式的字符串列表
["BlahBlahBlahBlah 0.9877"]
["ABCabcABCabcAbc 1.7852"]
正如你所看到的,两者之间是一个空格。由于一些限制,我无法改变设计。
我需要做的是根据最后的双号对列表进行排序。 任何人都可以帮我实现这段代码吗?
答案 0 :(得分:3)
这不是一个单一的空间,但无论如何......
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,如果还没有。)
答案 1 :(得分:0)
如果您知道该号码将始终为X.XXXX(五位数和十进制)格式,您可以执行类似'
的操作String asString = yourString.substring(yourString.length-9,yourString.length-3);
Double asDouble = Double.parseDouble(number);