Лучшая практика в обращении с компаратором - PullRequest
0 голосов
/ 28 марта 2011

Как обрабатывать нулевые объекты, которые входят в метод CompareTo.Это всегда вызывает исключение нулевого указателя.Какой лучший способ решить эту проблему.

Ответы [ 3 ]

3 голосов
/ 28 марта 2011
public int compareTo(Object to) {
  if (to == null) return Integer.MIN_VALUE;
  // Now knowing it's not null, continue as before
}
1 голос
/ 28 марта 2011

Вы можете проверить объект перед вызовом метода «CompareTo».

как это:

if(obj != null){

  //TODO  

}
0 голосов
/ 08 апреля 2011

Из тонкой документации на Сравнимо :

Обратите внимание, что null не является экземпляром какого-либо класса, и e.compareTo (null) должен выдать исключение NullPointerException, даже если e.equals (null) возвращает false.

Не помещайте ноль в отсортированную коллекцию, если вы не хотите обрабатывать исключения NullPointerExceptions.

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