项目中对ArrayList进行排序,采用如下方法:
class SortByNumber implements Comparator<ExchangeCommodity.ListBean> {
public int compare(ExchangeCommodity.ListBean listBean1, ExchangeCommodity.ListBean listBean2) {
if (listBean1.getNumber() > listBean2.getNumber()) {
return 1;
}else {
return 0;
// java1.7之后必须返回-1
}
}
}
Collections.sort(commodities, new SortByNumber()); // commodities是待排序的ArrayList

本文介绍了一个ArrayList排序的问题案例,使用自定义Comparator实现对ExchangeCommodity.ListBean对象按number字段排序,但在Java 1.7中未达到预期效果。原因在于Comparator接口的compare方法返回值必须为1和-1这样的相反数,而非1和0。
1836

被折叠的 条评论
为什么被折叠?



