<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
    主站蜘蛛池模板: 99麻豆久久久国产精品免费| 国产日本亚洲一区二区三区| 免费国产成人高清在线观看网站| 亚洲av无码专区国产不乱码| 亚洲人成图片小说网站| 18禁超污无遮挡无码免费网站国产 | 国产成人精品日本亚洲| 性做久久久久久免费观看| 野花香高清在线观看视频播放免费 | 国产av无码专区亚洲av毛片搜| 亚洲成人网在线播放| 老司机福利在线免费观看| 亚洲精品美女久久久久9999| 最近中文字幕免费mv在线视频| 亚洲一区二区三区免费视频| 日本在线免费播放| 亚洲一卡2卡3卡4卡国产网站 | 亚洲精品国产电影| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲人成自拍网站在线观看 | 免费毛片在线看片免费丝瓜视频| 国产福利免费视频 | 未满十八18禁止免费无码网站| 午夜不卡久久精品无码免费 | 亚洲国产精品白丝在线观看| 亚洲AV无码乱码在线观看代蜜桃| 亚洲日本人成中文字幕| 亚洲欧美成人一区二区三区| 亚洲av无码成人精品国产| 亚洲国产精品嫩草影院| 精品国产福利尤物免费| 免费播放一区二区三区| 亚洲精品99久久久久中文字幕| 麻豆国产VA免费精品高清在线| 卡1卡2卡3卡4卡5免费视频| 国产一区二区三区无码免费| 亚洲V无码一区二区三区四区观看| 亚洲精品韩国美女在线| 免费无码AV一区二区| 亚洲免费观看在线视频| 国产亚洲精品高清在线|