java - 如何通过使用collections.sort使用trim避免NPE?

标签 java sorting lambda java-8 comparator

有一个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))));

关于java - 如何通过使用collections.sort使用trim避免NPE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62547484/

相关文章:

python - PySpark takeOrdered 多个字段(升序和降序)

javascript - Nodejs Lambda,.promise() 的用途是什么?

java - 读取不同的 XML 文件

java - 为不同的自定义列表再次重用 JScrollPane 的问题

java - 如何在实时线程中向 HTTP 请求发送 HTTP 响应

c++ - 为什么 lambda 捕获的这个指针被破坏而其他变量没有

amazon-web-services - Lambda 的 ARN 名称是静态的还是会更改?

java - 在 JRE(1.8) 上运行 Java 项目时出现 "A fatal error has been detected by the Java Runtime Environment: "

c++ - 二进制表达式 Person 和 Person 的无效操作数

java - 冒泡排序 StackOverflowError