Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpLmSu 12 of 322 menu
◀ ▶

Поставщик готовых значений в Java

Supplier не принимает аргументов и каждый вызов get отдаёт новое или закэшированное значение. Тип результата задают параметром T в Supplier<T>.

Поставщик заголовка по умолчанию для черновика:

import java.util.function.Supplier; Supplier<String> defaultTitle = () -> "untitled";

Получение значения:

public class Main { public static void main(String[] args) { Supplier<String> defaultTitle = () -> "untitled"; System.out.println(defaultTitle.get()); } }

Сервис может запрашивать заголовок у поставщика, если поле ещё пустое:

import java.util.function.Supplier; class Draft { String resolveTitle(String current, Supplier<String> fallback) { if (current == null || current.isBlank()) { return fallback.get(); } return current; } }

Пример вызова с лямбдой-поставщиком:

Draft draft = new Draft(); String title = draft.resolveTitle(" ", () -> "new post");

Сделайте Supplier<Integer> pageSize, возвращающий 20. Выведите результат двух вызовов get() и убедитесь, что оба раза 20.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить