<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-12  評論-6  文章-0  trackbacks-0
    /**
     * 
     
    */
    package com.infopatent.juangetljc.web.controller.util;

    import java.lang.reflect.Field;
    import java.text.Collator;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    import java.util.Locale;

    /**
     * 
    @author xue
     * 2014年9月24日
     
    */
    public class SortListByBeanPropertyUtil {

        
    //根據集合里的Bean擁有的屬性進行排序
        
        
    public static <T> void sort(List<T> list, final String sortProperty, final String sort) {
            
            
    if(list == null || sortProperty == null || "".equals(sortProperty) || list.isEmpty())
                
    return;
            
            Collections.sort(list, 
    new Comparator<T>() {

                @Override
                
    public int compare(T t1, T t2) {
                    Object o1 
    = new Object();
                    Object o2 
    = new Object();
                    
    try {
                        o1 
    = SortListByBeanPropertyUtil.getFieldValue(t1, sortProperty);
                        o2 
    = SortListByBeanPropertyUtil.getFieldValue(t2, sortProperty);
                        
                    } 
    catch (Exception e) {
                        e.printStackTrace();
                    }
                    
    int result = 0;
                    
    if(o1 == null) {
                        result 
    = -1;
                    }
    else if(o2 == null) {
                        result 
    = 1;
                    }
    else if(o1 instanceof String) {
                        result 
    = Collator.getInstance(Locale.CHINESE).compare(o1, o2);
                    }
    else{
                        result 
    = ((Comparable)o1).compareTo(o2);
                    }
                    
                    
    //是否降序排序
                    if("desc".equalsIgnoreCase(sort)) {
                        result 
    = 0-result;
                    }
                    
                    
    return result;
                }
                
            });
            
        }
        
        
    //反射方法,反射出類型
        public static Object getFieldValue(Object obj, String fieldName) throws Exception {
            
    //反射出對象類型
            Class<?> cls = obj.getClass();
            
    //反射出類型字段
            Field field = cls.getDeclaredField(fieldName);
            
    //獲取屬性是,壓制java對訪問修飾符的檢查
            field.setAccessible(true);
            
    //在對象obj上讀取field屬性的值
            Object val = field.get(obj);
            
    return val;
            
        }
        
    }
    posted on 2014-09-24 16:25 小人物_Amor 閱讀(354) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 中文字幕a∨在线乱码免费看| 亚洲AV综合色区无码一二三区 | 亚洲第一区在线观看| 亚洲欧美日韩中文字幕在线一区| 91香蕉成人免费网站| 久久狠狠爱亚洲综合影院| 免费成人福利视频| 亚洲视频在线观看2018| 四虎成人免费网站在线| 亚洲国产精品嫩草影院| 免费国产人做人视频在线观看| 美女被免费网站在线视频免费 | 国产亚洲福利精品一区| 免费无码一区二区三区蜜桃| 亚洲AV无码成人精品区蜜桃| 久久99国产综合精品免费| 亚洲最大黄色网站| 操美女视频免费网站| 精品国产_亚洲人成在线| 亚洲精品成人久久久| 国产成人免费ā片在线观看老同学 | 中文字幕在线视频免费| 亚洲成a人片在线观看无码专区| 久草福利资源网站免费| 亚洲中文字幕久在线| 国产精品黄页在线播放免费| 国产V片在线播放免费无码| 亚洲精品卡2卡3卡4卡5卡区| 亚洲国产精品免费视频| 久久综合久久综合亚洲| 免费一区二区三区四区五区| 中文字幕不卡高清免费| 久久精品国产亚洲av麻豆蜜芽 | 久久精品国产精品亚洲毛片| 高清国语自产拍免费视频国产| 爱情岛论坛亚洲品质自拍视频网站| 最新国产AV无码专区亚洲| 1000部禁片黄的免费看| 亚洲av日韩av永久无码电影| 亚洲日本va在线视频观看| 国产日本一线在线观看免费 |