«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Item — возвращает пустые коллекции или массивы, а не ноль.

Item — возвращает пустые коллекции или массивы, а не ноль.

Опубликовано 6 ноября 2024 г.
Просматривать:407

Item - Retorne coleções ou arrays vazios, em vez de nulos

Не возвращать значение null:

  • Методы, которые возвращают значение NULL вместо пустых коллекций или массивов, требуют дополнительной обработки клиента во избежание исключений.

Проблемы с нулевым значением:

  • Клиентам необходимо добавить избыточные проверки (если проверять на ноль).
  • Пропуски в этих проверках могут остаться незамеченными, что приведет к ошибкам.
  • Это затрудняет реализацию метода, возвращающего коллекцию или массив.

Аргумент против нуля:

  • Не беспокойтесь о производительности выделения пустых коллекций или массивов, если только это не окажется узким местом.

Эффективные альтернативы:

  • Используйте пустые коллекции или массивы вместо null.
  • Неизменяемые коллекции могут возвращаться повторно (например: Collections.emptyList(), Collections.emptySet()).
  • Пустые массивы также можно эффективно возвращать.

Оптимизированная производительность:

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

Примеры кода:
Неправильный метод, возвращающий ноль:

// Exemplo incorreto
public List getCheeses() {
    return cheesesInStock.isEmpty() ? null : new ArrayList(cheesesInStock);
}

Неадекватное обращение с клиентами:

List cheeses = shop.getCheeses();
if (cheeses != null && !cheeses.isEmpty()) {
    // Lógica para lidar com queijos disponíveis
}

Правильный метод, возвращающий пустую коллекцию:

// Exemplo correto
public List getCheeses() {
    return cheesesInStock.isEmpty() ? Collections.emptyList() : new ArrayList(cheesesInStock);
}

Использование неизменяемой пустой коллекции:

public List getCheeses() {
    return cheesesInStock.isEmpty() ? Collections.emptyList() : new ArrayList(cheesesInStock);
}

Использовать с пустыми массивами:

// Retorno de array vazio corretamente
public Cheese[] getCheeses() {
    return cheesesInStock.toArray(new Cheese[0]);
}

Оптимизировано использование пустого массива:

private static final Cheese[] EMPTY_CHEESE_ARRAY = new Cheese[0];

public Cheese[] getCheeses() {
    return cheesesInStock.toArray(EMPTY_CHEESE_ARRAY);
}

Заключение:
Никогда не возвращайте значение null: всегда отдавайте предпочтение пустым коллекциям или массивам. Это упрощает API, предотвращает ошибки и редко отрицательно влияет на производительность.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/giselecoder/item-54-retorne-colecoes-ou-arrays-vazios-em-vez-de-nulos-1ej6?1 Если есть какие-либо нарушения, свяжитесь с Study_golang. @163.com удалить
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3