Аналоги Runnadle & Callable из java.util.Function
Познакомимся с новыми интерфейсами из пакета java.util.Function, которые используются как типы параметров во многих методах CompletableFuture
Эти интерфейсы являются функциональными, то есть, значения этого типа могут быть заданы как ссылками на объекты, так и ссылками на методы или лямбда-выражениями.
// два параметра, возвращает результат BiFunction<T, U,R> { R apply(T t, U u); } // два параметра, не возвращает результат BiConsumer<T,U> { void accept(T t, U u) } // один параметр, возвращает результат Function<T, R> { R apply(T t); } // один параметр, не возвращает результат Consumer<T> { void accept(T t); } // Без параметров, возвращает результат Supplier<T> { T get(); }
Вспомним также старый добрый Runnable:
// Без параметров, не возвращает результат Runnable { void run(); }