在开发过程中,有时候我们会碰到这样的问题:在一个对象集合中,要通过一个伪字段进行排序,在sql语句中排序实现不了,那么我们应该怎么做?
java中有一个Comparator接口,可重写compare()及equals()这两个方法,用于比价功能,如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g这样,当然数字也是这样的。
compare(a,b)方法:根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
equals(obj)方法:仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时才返回 true。
Collections.sort(list, new Comparator());的第二个参数返回一个int型的值,就相当于一个标志,告诉sort方法按什么顺序来对list进行排序。
比如说,在这里,我们有一个TUserFeedbackInfo对象集合,按照solveFlag字段进行排序,如下: