需求:如果跟第三方调接口时,拿回来的列表数据中有的字段是空的,这时候是需要人工处理的,怎么让空的(null,”“)字段的数据展示在最前面?
实现:
class Demo { Integer id; String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Demo(Integer id, String name) { this.id = id; this.name = name; } } @Test public void test3() { List<Demo> demos = new ArrayList<>(); demos.add(new Demo(8, "222")); demos.add(new Demo(4, "")); demos.add(new Demo(3, "123")); demos.add(new Demo(6, "")); demos.add(new Demo(1, null)); demos.add(new Demo(2, "")); demos.add(new Demo(5, "333")); demos.add(new Demo(7, null)); demos.sort(Comparator.comparing(Demo::getName, Comparator.nullsFirst(String::compareTo))); for (Demo demo : demos) { System.out.println("id: " + demo.getId() + " name: " + demo.getName()); } }
执行结果:
id: 1 name: null id: 7 name: null id: 4 name: id: 6 name: id: 2 name: id: 3 name: 123 id: 8 name: 222 id: 5 name: 333
原文链接:
原文
https://tomoya92.github.io/2020/03/30/java-sort/
本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java集合排序,字段为空的排在前面