• java8使用反射对列表进行排序


    public class Project{
    
        private String spaceId;
    
        private String spaceName;
    
        public String getSpaceId() {
            return spaceId;
        }
    
        public void setSpaceId(String spaceId) {
            this.spaceId = spaceId;
        }
    
        public String getSpaceName() {
            return spaceName;
        }
    
        public void setSpaceName(String spaceName) {
            this.spaceName = spaceName;
        }
    
        public String getField(String orderBy) throws NoSuchFieldException, IllegalAccessException {
            return getClass().getDeclaredField(orderBy).get(this).toString();
        }
    }
    import java.util.ArrayList;
    import java.util.Comparator;
    import java.util.List;
    import java.util.function.Function;
    import java.util.stream.Collectors;
    
    public class Test {
    
        public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
            List<Project> projects =new ArrayList<>();
            Project project =new Project();
            project.setSpaceId("1");
            project.setSpaceName("yu");
            Project project1 =new Project();
            project1.setSpaceId("2");
            project1.setSpaceName("yufangwu");
            projects.add(project);
            projects.add(project1);
    
            List<Object> list = projects.stream().sorted(Comparator.comparing(new Function<Project, String>() {
                @Override
                public String apply(Project project) {
                    try {
                        return project.getField("spaceId");
                    } catch (NoSuchFieldException e) {
                        e.printStackTrace();
                        return null;
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                        return null;
                    }
                }
            }).reversed()).collect(Collectors.toList());
            System.out.println(list);
        }
    }
  • 相关阅读:
    Ubuntu下安装mysql
    MySQL聚集索引与非聚集索引
    mysql索引的简单介绍
    Hive数据导入与导出
    hive的基本操作
    hive的数据模型
    29 ArcMap许可服务器点击授权后无法进入下一步
    28 ArcMap 运行特别慢怎么办
    27 ArcMap加载天地图服务一片空白怎么办
    26 Arcpy跳坑系列——ExportToPNG
  • 原文地址:https://www.cnblogs.com/XueTing/p/15503997.html
Copyright © 2020-2023  润新知