首页 > 其他 > 详细

sortList

时间:2015-02-10 18:22:15      阅读:227      评论:0      收藏:0      [点我收藏+]
/**
     * @param list 要排序的list
     * @param field 排序的属性
     * @param sort desc:倒叙 asc:正序
     */
    @SuppressWarnings("unchecked")
    public void sortList(List<AnalysisPrame> list, final String field, final String sort){
        Collections.sort(list, new Comparator() {            
            public int compare(Object a, Object b) {
                int ret = 0;
                String method="get"+field.substring(0, 1).toUpperCase()+field.substring(1);
                try{
                    Method m1 = ((AnalysisPrame)a).getClass().getMethod(method);
                    Method m2 = ((AnalysisPrame)b).getClass().getMethod(method);
                    if(sort != null && "desc".equals(sort))//倒序
                        ret = m2.invoke(((AnalysisPrame)b)).toString().compareTo(m1.invoke(((AnalysisPrame)a)).toString());    
                    else if(sort != null && "asc".equals(sort))//正序
                        ret = m1.invoke(((AnalysisPrame)a)).toString().compareTo(m2.invoke(((AnalysisPrame)b)).toString());
                }catch(NoSuchMethodException e){
                    e.printStackTrace();
                }catch(IllegalAccessException e){
                    e.printStackTrace();
                }catch(InvocationTargetException e){
                    e.printStackTrace();
                }
                return ret;
            }
         });
    }

 

sortList

原文:http://www.cnblogs.com/xuhj/p/4284452.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!