В компании, в которой я работаю, мы обсуждаем, стоит ли использовать оберточные классы для примитивов (java.lang.Integer, java.lang.Long), или же использовать примитивные типы непосредственно в POJO, которые отображают объекты в таблицы в спящем режиме.
Идея в том, что мы хотим, чтобы эти значения не были нулевыми в базе данных.
Аргументы в пользу использования примитивов:
- Работа с этими значениями как с int означает, что они никогда не могут быть нулевыми, в
таким образом делая невозможным случайно получить нулевую ссылку.
на поле.
- int=32/64 бит памяти. Целое число = 16 байт памяти
а также медленнее
Аргументы в пользу использования объектов-оберток:
- Мы можем добавить ограничение на уровне БД, чтобы всегда предотвращать нуль
Значения от поступления туда
- Мы можем закончить с вводящими в заблуждение данными, мы можем...
иметь 0 вместо нулей в базе данных, когда пользователь не имеет.
задать значение, а багги данные - это нелегкая добыча.
- Объекты обладают большей выразительной силой, чем примитивы. У нас есть нулевые значения, а также
целочисленные значения, поэтому их легче проверять с помощью примечаний для
пример (javax.validation.constraints.NotNull).
задан vanvasquez 21 September 2011 в 21:19
поделиться