java - 如何通过使用 collections.sort 来使用修剪和避免 NPE?
问题描述
有一个 Class Role
,其数据成员为 String roleName
。我必须对列表进行排序Role
。在排序时,我还需要检查 NPE 和修剪roleName
。所以我用
roleList.sort(Comparator.comparing(Role::getRoleName,
Comparator.nullsLast(Comparator.naturalOrder())));
我可以抑制空指针异常,但不能使用trim
.
roleList.sort( (x, y) -> x.getRole().trim().compareTo(y.getRole().trim()));
使用它我无法避免 NPE。
解决方案
这个怎么样:
roleList.sort(Comparator.comparing(Role::getRoleName,
Comparator.nullsLast(Comparator.comparing(String::trim))));
推荐阅读
- android - 来自 Firestore 地图数据类型的标记
- office-js - 在创建 Excel-Web-AddIns 时使用 Excel JavaScript API 在 Excel 中插入 ActiveX 控件
- kotlin - 如何在 kotlin 中为 ktlint 编写自定义规则?
- java - 如何在 Vaadin Flow 图表中应用 VaadinIcons 作为标记符号?
- php - Php api 使用 curl 调用另一个 - 数据丢失
- javascript - 是否可以在 VueJS 模板中设置范围,以便在引用属性时不必重复对象名称?
- ruby-on-rails - 为什么我的模块没有加载到 Rails 中?
- r - 在 R 中解析突变数据
- c++ - 如何在 C++ 中将略有不同的类型视为相同的类型?
- wordpress - 如何格式化wordpress博客中的代码语法?