先说下原因,最近项目中出现了获取网络数据混乱的情况,经过仔细查看才知道是加入集合的顺序出了问题,由于我是循环获取id,然后再循环请求数据,请求成功之后就把实体类中的数据加入到ArrayList集合中,可是我忽略了网络请求的耗时不确定,可能第二次请求的耗时小于第一次请求,这就导致加入集合的顺序不能保证,所以出现了错乱,所以,我决定在加入集合后给他们排序。
经过查阅资料得知,解决的办法有两个,一个是通过Comparator,一个是实现Comparable接口,我在这里选择了第二种,使所在的类实现Comparable接口,重写compareTo,和toString两个方法。
代码部分 :
/** * Created by zhangjiaqi on 16/11/5. */ public class GoodsForTypeEntity implements Comparable<GoodsForTypeEntity> { public GoodsForTypeEntity(int id, String name) { this.id = id; this.name = name; } private int id; private String name; public int count; private String dishes_id; private String mct_id; private String dishes_cate_id; private String