Подтвердить что ты не робот

Метод hibernate query.list() возвращает пустой список вместо нулевого значения

Если строк нет, то как query.list() и criteria.list() возвращают пустой список вместо нулевого значения. В чем причина этого?

4b9b3361

Ответ 1

Причина заключается не в том, чтобы принудительно вводить нулевые проверки в код клиента, в соответствии с Эффективное Java 2nd Edition, Пункт 43: Возвращение пустым массивы или коллекции, а не нули.

Это делает код клиента более простым и менее подверженным ошибкам (и, скорее всего, также и реализацию метода).

Идиома с нулевым возвратом, вероятно, является задержкой с языка программирования C, в длина массивов возвращается отдельно от реальных массивов. В C нет преимущество в распределении массива, если нуль возвращается как длина.

Ответ 2

Он является последовательным: список возвращается со всеми результатами, есть ли они или нет.