При использовании JDBC и доступе к типам примитивов через набор результатов существует более элегантный способ работы с нулем / 0, чем следующий:
int myInt = rs.getInt(columnNumber)
if(rs.wasNull())?
{
// Treat as null
} else
{
// Treat as 0
}
Я лично съеживаюсь всякий раз, когда вижу такой код. Я не понимаю, почему ResultSet не был определен для возврата целочисленных типов в штучной упаковке (кроме, возможно, производительности) или, по крайней мере, для обеспечения обоих. Бонусные баллы, если кто-нибудь сможет убедить меня в том, что текущий дизайн API великолепен :)
Моим личным решением было написать обертку, которая возвращает Integer (меня больше интересует элегантность клиентского кода, чем производительность), но мне интересно, не хватает ли мне лучшего способа сделать это.
Просто чтобы уточнить, что меня беспокоит в этом коде, это не длина, а тот факт, что он создает зависимость состояния между последующими вызовами, и то, что выглядит как простой метод получения, на самом деле имеет побочный эффект в той же строке.