• comparatorChain实现对Bean多字段排序


    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.Date;
    import java.util.List;
    
    import org.apache.commons.beanutils.BeanComparator;
    import org.apache.commons.collections.comparators.ComparatorChain;
    
    import com.google.gson.Gson;
    
    public class Main {
        
        
        public static class Cats{
            private Integer years;
            private String  name;
            private String  entryDate;
            public Integer getYears() {
                return years;
            }
            public void setYears(Integer years) {
                this.years = years;
            }
            public String getName() {
                return name;
            }
            public void setName(String name) {
                this.name = name;
            }
            public String getEntryDate() {
                return entryDate;
            }
            public void setEntryDate(String entryDate) {
                this.entryDate = entryDate;
            }
        }
    
        
        @SuppressWarnings("unchecked")
        public static void main(String[] args) {
            List<Cats> cats = new ArrayList<>();
            Cats cat = new Cats();
            cat.setEntryDate(DateUtils.formatDate(new Date(), "yyyyMMdd HH:mm:ss"));
            cat.setName("smith");
            cat.setYears(21);
            
            Cats cat1 = new Cats();
            cat1.setEntryDate(DateUtils.formatDate(new Date(), "yyyyMMdd HH:mm:ss"));
            cat1.setName("KAMIER");
            cat1.setYears(36);
            
            Cats cat2 = new Cats();
            cat2.setEntryDate(DateUtils.formatDate(new Date(), "yyyyMMdd HH:mm:ss"));
            cat2.setName("STIWEN");
            cat2.setYears(18);
            
            Cats cat3 = new Cats();
            cat3.setEntryDate(DateUtils.formatDate(new Date(), "yyyyMMdd HH:mm:ss"));
            cat3.setName("AKAI");
            cat3.setYears(88);
            cats.add(cat3);cats.add(cat2);cats.add(cat1);cats.add(cat);
            
            ComparatorChain comparatorChain = new ComparatorChain();
            comparatorChain.addComparator(new BeanComparator("entryDate"));
            //comparatorChain.addComparator(new BeanComparator("years"));
    //      Arrays.sort(cats.toArray(), comparatorChain);
            Collections.sort(cats, comparatorChain);
            System.out.println("多字段排序:");
            System.out.println(new Gson().toJson(cats));
        }
    }
    
  • 相关阅读:
    收藏:iBLC编码器
    蛙蛙推荐:怎样调试asp.net黄页错
    蛙蛙推荐:IE下3px bug研究
    蛙蛙推荐:winform入门
    蛙蛙推荐:蛙蛙牌云存储服务
    整理:个人知识管理相关链接
    蛙蛙推荐:c#编写网络电话
    蛙蛙推荐:蛙蛙教你解析网络包
    有用的SQL 语句(转) dodo
    .net 点击刷新验证码问题 dodo
  • 原文地址:https://www.cnblogs.com/lhl-shubiao/p/12784490.html
Copyright © 2020-2023  润新知