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

Что такое короткое замыкание в Java и как оно работает?

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

What is Short-Circuiting in Java and How Does It Work?

Короткое замыкание в Java: объяснение и пример

В программировании короткое замыкание — это ценная функция, при которой вычисление выражения завершается преждевременно когда его результат очевиден. Такое поведение имеет важные последствия в Java, где выражения, включающие такие операторы, как || (логическое ИЛИ) и && (логическое И) обладают этим свойством.

Внутри || выражение, если первый операнд имеет значение true, остальные операнды никогда не обрабатываются. Аналогично, в выражении &&, если первый операнд имеет значение false, остальные операнды игнорируются.

Например, рассмотрим:

if (a == b || c == d || e == f) {
    // ...
}

Если a == b возвращает true, последующие вычисления c == d и e == f пропускаются, поскольку общее выражение уже дало истинный результат.

Релевантность Короткое замыкание становится очевидным при борьбе с побочными эффектами. В выражении:

if (foo() || bar() || baz()) {
    // ...
}

Если foo() возвращает true, ни bar(), ни baz() не выполняются, что предотвращает любые потенциальные побочные эффекты, которые они могут нести.

Другое полезное применение короткого замыкания — обработка ссылки на объекты:

if (a != null && a.getFoo() != 42) {
    // ...
}

Без короткого замыкания, если бы a было нулевым, a.getFoo() вызвал бы исключение NullPointerException. Однако, поскольку != null сначала должен быть оценен как true, исключение исключается, когда a имеет значение null, что обеспечивает безопасность.

Важно отметить, что не все операторы поддерживают короткое замыкание. | Операторы (побитовое ИЛИ) и & (побитовое И), а также большинство других математических операторов не демонстрируют такого поведения. Поэтому используйте || и && осторожно при поиске эффектов короткого замыкания.

Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3