函数式接口
小于 1 分钟
函数式接口
1、函数式接口的定义:
任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。
public interface Runnable{ public abstract void run(); }
函数式接口名称 方法名称 参数 返回值 Runnable run 无参数 无返回值 Function apply 1个参数 有返回值 Consume accept 1个参数 无返回值 Supplier get 没有参数 有返回值 Biconsumer accept 2个参数 无返回值
2、常见的函数式接口
2.1. Runnable
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
2.2. Function
@FunctionalInterface
public interface Function<T, R> {
R apply(T t);
}
2.3. Consumer
@FunctionalInterface
public interface Consumer<T> {
void accept(T t);
}
2.4. Supplier
@FunctionalInterface
public interface Supplier<T> {
/**
* Gets a result.
*
* @return a result
*/
T get();
}
2.5. Biconsumer(Bi代表两个的意思,我们要传入两个参数,在上面的案例中是v和e)
@FunctionalInterface
public interface BiConsumer<T, U> {
void accept(T t, U u);
}