繁体   English   中英

使用Collections.sort的错误排序列表

[英]Error sorting list using Collections.sort

当我尝试通过执行Collections.sort(list2)对列表进行排序时,出现NullPointerException

该列表包含以下字符串

[BOOTH 4,ENP ROOM,BOOTH 6,C&T等候区,C&T等候区,C&T等候区,BOOTH 10,BOOTH 7,BOOTH 3,BOOTH 1,C&T等候区,C&T等候区,C&T等候区,C&T等候区, BOOTH 1,C&T等候区,C&T等候区,C&T等候区,C&T等候区,C&T等候区,C&T等候区,C&T等候区,C&T等候区,C&T等候区,BOOTH 10,C&T等候区,C&T等候区, C&T等候区,C&T等候区,C&T等候区,C&T等候区,C&T等候区,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, null,null]

我需要为此列表使用比较器吗?

您可以使用可以处理空值的比较器。 例如

private static final class NullsFirstComparator implements Comparator<String> {
  public int compare(String lhs, String rhs) {
    if (lhs == rhs)
      return 0;
    if (lhs == null)
      return -1;
    if (rhs == null)
      return 1;
    return lhs.compareTo(rhs);
  }
}

它将首先对空值进行排序(它们小于所有值)

排序前删除null值。 无法排序

您还可以在Apache Commons中使用NullComparator 为编写比较器提供了许多有用的工具

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM