Дополнительная информация о том, что, вероятно, произошло.
Из вашей ошибки, я предполагаю, что ваш предыдущий получатель был:
public int getId() {
return id; //Integer, needs to be converted
}
Java заставила вас изменить Integer в intи то, что на самом деле вызывалось, было:
public int getId() {
return id.intValue(); //Get the actual "int" value from the object
}
Вот почему вызов этого метода с нулевым идентификатором привел к возникновению исключения NullPointException, даже до того, как вы смогли получить значение.Поскольку для этого идентификатора был вызван метод, прежде чем вы смогли получить к нему доступ.
Это частая ловушка, поскольку они допускают такое прозрачное преобразование из Integer в int и наоборот.Это удобно, но трудно диагностировать, если вы не знаете, что происходит за кулисами.