如何使用trim和使用collections.sort避免NPE?

How to use trim and avoid NPE by using collections.sort?

有一个 Class Role,其数据成员为字符串 roleName。我必须对 Role 的列表进行排序。 排序时我还需要检查 NPE 和 trim 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))));