概述
工作时用流排序后,发现个问题。
代码如:
list.stream().sorted(Comparator.comparing(XXX:getXX));
XXX:getXX 为字符串格式,由于该值为数字的字符串。即当集合里有11,2,这一类数字时,会将11排序在2之前。
该流方法并没有自带的进行判断,测试发现后即改为int类型进行比较
代码如:
list.sort((String x,String y)->Integer.valueOf(x).compareTo(Integer.valueOf(y)));
或
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
}
});
也算是在字符串比较排序上面踩了个坑吧。
最后
以上就是清秀流沙为你收集整理的集合中根据String来判定元素的排序的全部内容,希望文章能够帮你解决集合中根据String来判定元素的排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复