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

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

48
задан Reddy 14 July 2011 в 04:22
поделиться

2 ответа

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

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

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

93
ответ дан 26 November 2019 в 18:41
поделиться

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

11
ответ дан 26 November 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: