Go to the home page  / Java  / Функциональное программирование  / Функциональные интерфейсы  / Предопределенные функциональные интерфейсы  / Supplier – поставщик результата

Supplier – поставщик результата

Igor Lazarevsky, 2022.02.04 14:38

Использование функционального интерфейса Supplier выглядит так

Supplier supplier = () -> "hello";

Сам интерфейс так

public interface Supplier<T> {
    T get();
}

То есть ничего не получает, но выдает результат (определенного типа).

Поэтому правильно указывать тип, в нашем примере это String:

Supplier<String> supplier = () -> "hello";

А если бы мы писали в старом стиле с анонимными внутренними классами, то записали бы так

Supplier<String> supplier = new Supplier<String>() {
    @Override
    public String get() {
        return "hello";
    }
};

Без анонимных внутренних классов, просто с обычным классом выглядело бы так

class S implements Supplier<String> {
    @Override
    public String get() {
        return "hello";
    }
}

Supplier<String> supplier = new S();
UserSupplier(Поставщик)Ничего на вход не подается1Готовит данные "из себя"Поставляет результат2UserSupplier(Поставщик)
Igor Lazarevsky, 2022.02.04 14:41