Привет, ребята, сегодня пост будет коротким, я напишу о ссылках на методы. Я знаю, что это просто для понимания, но некоторые вещи были более странными, когда я впервые их увидел, поэтому я напишу о них.
Ссылки на методы представлены в Java 8, что позволяет создавать ссылки, когда методы создаются в лямбда-выражениях, эта стратегия искала способы создания не подробного метода.
Давайте посмотрим на пример.
Listlist = Arrays.asList(new Person("Riot", 112), new Person("Rext", 30)); // Without method reference list.forEach(e -> System.out.println(e)); // With lambda reference list.forEach(System.out::println); // Without method reference list.stream().map(e -> e.getNumber()).forEach(e -> System.out.println(e)); // With lambda reference list.stream().map(Person::getNumber).forEach(System.out::println);
При использовании функций lambda часто сталкивается с моментами, когда необходимо отправить единственный метод, например, filter() , map() , как в приведенном выше примере, но мы должны помнить, что когда мы используем ссылки на методы, параметры передаются непосредственно методу, с этим параметром ничего нельзя сделать.
:: является разделителем, о котором мы говорим, что используем ссылки на методы для кода, таким образом, когда происходит запуск, он переводится в функциональный интерфейс, поэтому код будет компилироваться, и это будет компилироваться без затрат для приложения. Мы должны использовать эту форму работы, но не забывая о разборчивости кода.
Оригинал: “https://dev.to/wagnernegrao/what-are-method-references-3ng”