Страницы

Поиск по вопросам

суббота, 30 ноября 2019 г.

Что значит оператор ::?

#java #javafx #время


Изучаю JavaFX. Столкнулся с оператором :: . Объясните, пожалуйста, что он значит.
Пример:

public static LocalDate parse(String dateString) {
    try {
        return DATE_FORMATTER.parse(dateString, LocalDate::from);
    } catch (DateTimeParseException e) {
        return null;
    }
}

    


Ответы

Ответ 1



Это ссылка на метод, новая конструкция языка Java 8 Например: public static void main(String[] args) { List list = Arrays.asList("str1", "str2", "str3"); list.forEach(System.out::print); } Произойдет следующее: интерфейс List наследуется от Iterable, у которого есть метод forEach(Consumer action). Consumer - функциональный интерфейс, с одним методом accept(T t), который принимает один параметр. В данном случае, consumer - метод print класса System.out, который принимает строку. Функциональный интерфейс - интерфейс, который имеет только 1 абстрактный метод.

Комментариев нет:

Отправить комментарий