Вернуть пустую коллекцию Vector вместо null

Если я правильно понимаю вопрос ...

В двух словах, все это метод объекта. Вы можете найти методы «операторов выражений» в методах магического класса python в операторах .

Итак, почему у python есть такие «сексуальные» вещи, как [x:y], [x], +, -? Потому что это распространено для большинства разработчиков, даже для незнакомых с людьми развития, поэтому математические функции, такие как +, -, поймают человеческий глаз, и он будет знать, что происходит. Подобно индексированию - это распространенный синтаксис на многих языках.

Но нет специальных способов выражения методов upper, replace, strip, поэтому для него нет «операторов выражения» .

Итак, что отличает «операторы выражения» и методы, я бы сказал так, как он выглядит.

-1
задан adimoh 16 January 2019 в 15:52
поделиться

3 ответа

Разве вы не можете использовать свой собственный метод?

 return vector.isEmpty() ? new Vector<?>() : vector;
0
ответ дан Thiago Elias Santos 16 January 2019 в 15:52
поделиться

Вы можете вернуть new Vector<X>(), но лучшим решением будет отойти от Vector, который устарел в течение (многих) лет. Если вам не требуются функции параллелизма, вместо этого вы можете использовать ArrayList.

Вы добавили, что получаете Vector от сторонней службы. Не забывайте, что Vector - это List, так что вы можете использовать что-то вроде этого:

public List<X> getData() {
  try {
    Vector<X> v = getDataFromService();
    return v;
  } catch (ServiceException e) {
    return Collections.emptyList();
  }
}
0
ответ дан assylias 16 January 2019 в 15:52
поделиться

Я хочу вернуть пустой вектор, который можно проверить с помощью Collections.isEmpty

Хотите ли вы вернуть пустой вектор или вы хотите, чтобы Collections.isEmpty () возвратил Значение true, если передан пустой вектор?
Как правило, возвращение пустого вектора будет означать отсутствие ошибки, но пустой результат - вам следует рассмотреть возможность создания (проверенного) исключения для ошибки - что приведет к заключению договора между методом и его звонящий яснее. Если позднее вы захотите, чтобы метод мог возвращать пустой вектор для указания пустого результата (и без ошибок), вы сможете сделать это без изменения всего вызывающего кода.

0
ответ дан user-10884042 16 January 2019 в 15:52
поделиться
Другие вопросы по тегам:

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