Ошибка сортировки списка с использованием Collections.sort - PullRequest
1 голос
/ 08 декабря 2010

Я получаю NullPointerException, когда пытаюсь отсортировать список с помощью Collections.sort (list2)

список содержит следующие строки

[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, ноль, нуль, ноль, ноль, ноль, ноль, ноль, нуль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль]

Нужно ли использовать компаратор для этого списка?

Ответы [ 3 ]

4 голосов
/ 08 декабря 2010

Вы можете использовать компаратор, который может обрабатывать нулевые значения. Э.Г.

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);
  }
}

которая будет сначала сортировать нулевые значения (они меньше всех)

2 голосов
/ 08 декабря 2010

Удалить null значения перед сортировкой.Они не могут быть отсортированы

1 голос
/ 08 декабря 2010

Вы также можете использовать NullComparator в Apache Commons. Это предоставляет множество полезных утилит для написания компаратора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...