我对字符串的默认比较器(在SortedSet中)有问题。问题是默认比较器没有排序包含数字的良好字符串,即:在集合中我有:
room1, room2, room100
自然排序应该如上所述,但在集合中我有:
room1, room100, room2
我知道它为什么但我不知道如何改变它。
发布于 2018-10-16 10:58:20
这样试试:
List<String> list = Arrays.asList("room1", "room100", "room2");
Collections.sort(list, new Comparator<String>()
{
@Override
public int compare(String o1, String o2)
{
return new Integer(o1.replaceAll("room", ""))
.compareTo(new Integer(o2.replaceAll("room", "")));
}
});
https://stackoverflow.com/questions/-100002910
复制相似问题