Как проверить что в переменную передано null?

Учу джавку, решаю ДЗ со skillbox.

Задание для теста :

Реализуйте метод sumDigits, который возвращает сумму цифр числа.

Пример: передано 12345, метод должен вернуть 15; если передано null, то должен вернуть -1.

Сделал подсчет суммы цифр, но не могу проверить на null.

public static int sumDigits(Integer number) {
    //@TODO: write code here and delete TODO line
    String string = Integer.toString(number);
    Integer sum = 0;
    if (number != null) {
      for (int i = 0; i < string.length(); i++) {
        sum += Integer.parseInt(String.valueOf(string.charAt(i)));
      }
      return sum;
    }
     else {
     return -1;
    }
}

как правильно?


Ответы (2 шт):

Автор решения: Sergiej Koczergin

вот что значит учится ночью ) я в тесте получал npe вот и не проверяло на нулл сначала проверим обЪект на нулл, а потом с ним работаем, а я наоборот сделал вот правильно как :

  Integer sum = 0;
if (number != null) {
  String string = Integer.toString(number);
  for (int i = 0; i < string.length(); i++) {
    sum += Integer.parseInt(String.valueOf(string.charAt(i)));
  }
  return sum;
}
 else {
 return -1;
}
→ Ссылка
Автор решения: Circassian

Вот так будет правильней, без конвертации в строку и обратно и c использованием примитивного int.

public static int sumDigits(int number) {
    if (number == null) {
        return -1;
    }
    int sum = 0;
    while (number > 0) {
        int remain = number % 10;
        sum += remain;
        number = (number - remain) / 10;
    }
    return sum;
}
→ Ссылка