Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
30 Янв 2024
2 мин
1700

Оператор двойного двоеточия в Java 8

Оператор двойного двоеточия (::) в Java 8 — это нововведение, которое может вызвать затруднения у новичков. Он представляет собой ссылку на метод или

Оператор двойного двоеточия (::) в Java 8 — это нововведение, которое может вызвать затруднения у новичков. Он представляет собой ссылку на метод или конструктор и может быть очень полезным для сокращения кода.

Пример использования оператора двойного двоеточия

Возьмем обычный пример, где используется анонимный класс Runnable для создания нового потока:

new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("Hello from new thread");
    }
}).start();

Тот же код с использованием ссылки на метод через оператор двойного двоеточия выглядит так:

new Thread(System.out::println).start();

Это значительно упрощает код и делает его более читаемым.

Понимание оператора ::

Оператор двойного двоеточия (::) в Java 8 — это ссылка на метод. Он используется для передачи метода в качестве параметра в другой метод. Это очень похоже на указатели на функции в других языках, таких как С++. Однако в Java нет прямых указателей, а оператор :: обеспечивает безопасный и удобный способ ссылки на метод.

Ссылка на метод может указывать на статический метод, метод экземпляра или конструктор.

Например, в коде Math::max оператор :: используется для ссылки на статический метод max из класса Math. Этот метод принимает два параметра типа int и возвращает максимальное из двух чисел. Это соответствует функциональному интерфейсу IntBinaryOperator, который ожидает два параметра типа int и возвращает int.

Вывод

Оператор двойного двоеточия (::) — это мощное нововведение в Java 8, которое облегчает работу с методами и конструкторами. Он делает код более чистым и упрощает его чтение и понимание.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий