Sobes.tech
Назад к вопросам
Junior — Middle
63

В каких случаях и как с помощью двойного двоеточия (::) обращаются к методам или классам в языке программирования?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

В Java двойное двоеточие (::) используется для ссылки на методы или конструкторы, позволяя передавать их как объекты функциональных интерфейсов. Это называется method reference.

Применяется в следующих случаях:

  • Ссылка на статический метод: ClassName::staticMethod
  • Ссылка на метод экземпляра конкретного объекта: instance::instanceMethod
  • Ссылка на метод экземпляра произвольного объекта данного типа: ClassName::instanceMethod
  • Ссылка на конструктор: ClassName::new

Пример:

List<String> list = Arrays.asList("a", "b", "c");
list.forEach(System.out::println); // Ссылка на статический метод println

// Ссылка на метод экземпляра
String prefix = "Item: ";
list.forEach(s -> System.out.println(prefix + s));
// Можно заменить на
list.forEach(new Consumer<String>() {
    public void accept(String s) {
        System.out.println(prefix + s);
    }
});

// Или с помощью method reference, если метод подходит

Таким образом, :: упрощает передачу методов как параметров, делая код чище и короче.